Archive for November, 2009
Code Refactoring Seminar
0URL: http://code.google.com/p/codeleanrefactoringseminar/downloads/list
How should you refactor your code?
* Incremental refactoring & the Boy Scout rule
* “Leave the campground cleaner than when you found it”
* Code quality
Code Rot & Technical Debt
Code rot – the decay in software that occurs as a result of not updating your software in respect to the changing environment in which resides
Technical debt – The situation that occurs when you opt to postpone some development activities in favor of a shorter release date.
“Agile – the power of moving quickly and easily; nimbleness: exercises demanding agility“
Does being agile means that you get your product out the door as fast as possible?
* Yes..even if its substandard it is still being agile..
Would you deliver a “squirrel burger” if it meants that you could make the deadline?
Is having a technical debt a bad thing?
* Its tactical decision.
True meaning of Agility
* Agility is measured by the speed of change, not the speed of delivery
How do you know if your code is suffering from code rot?
* immobile
* obscure
* rigidity
* fragility
* Dispensible
How do you know if your code is suffering from a code rot?
Code quality – your code base that many bad code smells.
Development effort – it is becoming more and more difficult to understand.
- take more time to work on the same parts of the code in your system.
Productivity – more difficult to change, developers missing deadlines.
Strategies for Code rot
* automated unit tests
* code reviews
* continuous code write
What if theres too much technical debt in your project?
* Rewrite vs. Refactor
* Depends on the time
What happends to shops that don’t refactor?
* The dead sea effect
* code quality drops
* senior developers quits. they can no longer maintain program
* morale in the shop drops. seniors quit.
* New hires come in, new developers don’t stay because of code quality.
* The big ball of mud
* in many case, systems with large technical debts devolve into systems with no discernible architecture or design (aka the “Big Ball of Mud”)
* common in development shops that suffers from the dead sea effect.
* prevent your application from becoming a BBOM by continously refactoring your code.
Refactor or Rewrite?
* rewriting solves the symptom, not the root of the problem
* the real problem is that there is no refactoring.
* The BBOM is the symptom of bad development practices.
* You should only rewrite a system if:
* The system does not work at all
* It is cheaper to create a new system than to maintain the exsiting system
Beware of the Second System effect
* The second system effect is the tendency for developers to redesign a successor system into giant..
The tale of the Squirrel Burger
What would you do?
* For me, I would do give them the squirrel burger for I am thinking of the sales not the quality of burger we have.
Would you serve it?
Answers:
Reckless/Deliberate
* We don’t have time to design?
Prudent
* we must ship now and deal with consequences
* Now we now how we should have done it
Inadvertent
* What’s layering?
Anatomy of a Software Development “Squirrel Burger”
* No Documentation
* Nobody understands how the system works.
* The shop is “agile” so they decided to document
* Low Code Quality
* Inefficient Development Proccess
If it isn’t broken, then why should we even fix it?
* Refactoring as defect prevention
* refactoring makes code easirer to understand and that makes it easier to find bugs on your code
Why refactor our code if the client doesn’t pay us to refactor?
* Refactoring and the story of Louis Pasteur
* During Pasteur’s time, the concept of washing your hands before an operation was thought to be rediculous
* Refactoring is something that clients rarely ask for.
Refactoring Part II
*fizzbuzzzzbaz coding*
The two values of software
* Function
* Form
Some Bad Code smell Examples
* Contived complexity
* Bad design they want to try out.
Single Responsibility Principle
Many bad code smells inviolate this principle.
Its should do only one and one thing.
Does the following code violate the SRP?
Examples:
* Statement-level examples
* Method-level examples
* Class-level examples
Bad code Smells
The Couplers
* siamse twins, kill one affects the otherother
The Bloaters
* Class, that no one undestands it
Object Orrientation Abusers
* Program code they still writing C. Ugly code structure.
Photoshop CS5 sneak preview
1This video provides us a sneak shots of Adobe Photoshop CS5. These were some tricks we can do that are being developed by ‘Photoshop Labs’. It includes painter-style brushes, a new warp tool and more.
The new brush tools is like what Corel Painter application have. As we can see on the video, there is a wet paints being smiuged, and blended. We saw another new tool, warp. Pretty cool though! We can now edit pictures even man’s actions. A similar system After Effects’ Puppet tool has been added to Photoshop CS5, enabling artists to warp image by placing pins into areas to lock them down, then moving the areas around them.
Comelec needs 50, 000 IT workers
22MANILA, Philippines—At least 50,000 information technology personnel are needed for next year’s automated national elections, a Commission on Elections official said Wednesday. Election Commissioner Gregorio Larrazabal said in a news briefing that Smartmatic TIM Corp., the automated elections contractor, was hiring about 40,000 IT workers to help in the country’s biggest IT project.
The Smartmatic TIM personnel will do mainly technical support work. They will help in the maintenance and operations of the ballot scanners, officially called Precinct Count Optical Scan machines, on May 10. Some will be deployed to the field, while some will work in the company’s call center to respond to technical questions. At the same time, the Comelec and the Department of Science and Technology are currently training a total of 500 IT experts to train and accredit the Board of Election Inspectors (BEI), Larrazabal said. The Comelec will use 82,000 scanners in next year’s elections. To ensure that the operations will be smooth on election day, the poll body has ordered that at least one member of the BEI should have IT knowledge and training on how to handle the scanners. The poll body has coordinated with the local IT industry for its personnel requirements, he said. The Comelec said it will field 100 IT-knowledgeable organic personnel to various municipalities and cities to supervise the poll proceedings. Volunteers from the Parish Pastoral Council for Responsible Voting, the Comelec’s citizens’ arm, will also train for the project. All the IT workers will be accredited by the DOST. Bonifacio Belen, Smartmatic TIM manager, said the company last week held a workshop to develop methods on hiring and training of personnel. The company will start training the employees in January next year. He said the company was optimistic there would be enough workers for the project. “There is no shortage of patriotic and IT-savvy Filipinos who want to be part of history,” he said. Smartmatic TIM has tapped manpower firms Placewell, Manred, and Ventureslink to hire the support personnel. Applicants are advised to send their resumes to the said agencies.
Meanwhile, Larrazabal said the Comelec has directed the election contractor to ensure that its workers do not have partisan streaks. Applicants for key positions will undergo background checks, Larrazabal said. Under the Comelec’s rules, only BEI members can handle the election and voting machines. Smartmatic TIM employees will only advise the BEI members should the machines malfunction. Larrazabal said the Smartmatic TIM will carefully screen applicants and make them sign an affidavit stating that they do not have political connections. The employees will not be assigned to areas where they are from, he added.
For those who are interested in joining email your resume here: vacancies@comelec.gov.ph
<form> function & .class
2Its been months since the last full blast
<form> function() & .class conference at AIM Makati. Alot of web enthusiasts are waiting for the sequel of this successful event and so with those aspiring members of the organization (PWDO) together with PWDO, and AIM brings you the fifth installment of the form function & class mini web conference. It will be held this November 14, 2009 at De La Salle-College of Saint Benilde room B409 1-4PM. We setup a free registration here.
For those doesn’t know how to get to CSB:










