Important things learned
Here is a list of the things I have learned in my past projects.
Use Unicode (utf8) all the wayBe sure that every part of your architecture uses unicode and do this from the beginning. Converting data from one encoding to another is a nightmare. I learned this the hard way with Skeletonz. Having everything in Unicode basically means that you can support foreign charsets without any work. Think about performance all the timeThinking about performance in the beginning and constantly while adding features is very important. A while ago I was building a feed reader where we didn't think about performance and this had a fatal effect: the project died, because a rewrite was too expensive. One of the fatal mistakes was that we stored feeds in text files (as XML) and not in a database -> This worked great for the first hundreds of feeds, but at some point working with XML got too expensive. Do lots of projects and lots of rewritesThe best way to get better is to do lots of projects and do lots of rewrites. I have personally rewritten Skeletonz three times and I still haven't got a "perfect" architecture, but I am better now than I was back then. Be passionate, but not fanaticNothing beats passion and there's nothing worse than working with people that lack it. That said, don't be fanatic either, different people have different views and choices. Learn from other peopleWorking on Plurk and being on a team has been a big eye opener and I have learned lots of things in different fields, for example:
Store date and time in UTCUTC is the way to go along with a user's timezone. UTC makes it possible to change a user's timezone and to do interesting calculations. Don't unit test, but test all the timeI personally don't unit test and this strategy has worked great. A thing I do thought is to test all the time. I find unit testing very hard to do in a web environment, because it's a complex architecture. That said, I must admit that I haven't tried to unit test that much and I may change my mind in the future. Use loggingLogging is a really great feature, especially if unexpected errors are delivered on email. Support IE, Safari, FF from the beginningBrowser bugs are much easier to fix while the application is small, so be sure to support all the browsers from the beginning. Also take into account that some browsers have memory leaks (wink IE ;)).
Code
·
Interesting
·
Life
·
Tips
•
23. May 2008
|
|