also gave the same talk at JavaZone:
He is the co-author of http://www.amazon.co.uk/Things-Every-Programmer-Should-Know/dp/0596809484
Cargo cult programming – feyman
“Cargo cult programming is a style of computer programming characterized by the ritual inclusion of code or program structures that serve no real purpose. Cargo cult programming is typically symptomatic of a programmer not understanding either a bug they were attempting to solve or the apparent solution (compare shotgun debugging, deep magic). The termcargo cult programmer may apply when an unskilled or novice computer programmer (or one inexperienced with the problem at hand) copies some program code from one place to another with little or no understanding of how it works or whether it is required in its new position.
Cargo cult programming can also refer to the results of applying a design pattern or coding style blindly without understanding the reasons behind that design principle. Examples are adding unnecessary comments to self-explanatory code, adding deletion code for objects that garbage collection would have collected automatically, and creating factories to build simple objects.”
Open closed principle
He argues that the O in SOLID is outdated. So a class can be open for extension but closed for modification, was fine 20 years ago, but when we have good refactoring tools and the class is used exclusively in the codebase we’re working on then why limit ourselves?
Software is soft...changeable
Don't throw from a ctor
It is fine!
Naming so important
Why have the suffix Exception at end of exception class? If it’s named well then don’t need it