Sponsored by HTC
Who knows you better than your phone? view!
youtube.com - See you from the perspective of your phone.
1 Comments
- btruelove, on 10/12/2007, -0/+1Some good points here. Here are my comments.
1) Database Access Layer. I would go on to say that there exist many high quality Object Relational Mapping tools out there that will massively reduce the amount of data access code that you write and maintain. My experience using Propel (a PHP ORM tool) saved me so much time I would never go back to hand-coding a low level database access layer. I've also found Hibernate (for Java) quite useful, although it is harder to use (and more featureful) than something like Propel. See [http://propel.phpdb.org/]
3) Use a version control system. I can't agree more. If you're working on the same code base with a team of developers you simply can not get by without using one.
5) Documentation. Not sure if you're promoting source code documentation or separate documentation... In my experience it is much better to sufficiently document your actual code rather than create another source of documentation that will slip through the cracks and get rapidly out of date.
8) Use sensible sample data. Good point. Customers are already so confused, don't confuse them more by filling your demo database with gibberish sample data.
15) Architect then code. Definitely you need to think and do some design work before you code. But you _will_ absolutely have to rework any code base that is more than trivial as it grows and evolves no matter what approach you use. You simply will not get it right the first time. If anything, over architecting at the beginning is going to cost time and make it more difficult to change and maintain. For the largish projects I think it's worthwhile to consider the "plan to throw one away" concept. While not always literal it is revealing. See [http://c2.com/cgi/wiki/wiki?PlanToThrowOneAway] as well as [http://c2.com/cgi/wiki/wiki?SecondSystemEffect]. Also when doing architecture work keep in mind [http://c2.com/cgi/wiki/wiki?YouArentGonnaNeedIt].
For anyone who takes programming seriously I would recommend the excellent book The Pragmatic Programmer [http://www.pragmaticprogrammer.com/ppbook/index.shtml]. It is packed full of so many good tips for beginner and experienced programmers.


What is Digg?