Talking about PROgramming.
Let’s say you just finished a project… no matter whether a website or a Flash game… but you finished it right now.
Let’s suppose your client gave you a deadline, or you just wanted to finish it today because tomorrow you’ll be busy on another project, or you’ll have some holidays.
In most cases, you know the whole project can be optimized. Depending on the project complexity, you will see a lot of things you could improve to make the project run faster, look better, being more understandable and – above all – reusable.
Unfortunately, in most cases we prefer to leave it “as is” since “it works” and “that’s enough”, because we think the customer is already satisfied
I have to say, once I finish a project, I promise myself to keep it as clean as I can, even if I know I won’t be able to reuse anything… like, as example, a website. But as I have a lot of work, almost all the times I end leaving the project “as is”.
While you can’t work for the rest of your life to the same project, there are 11 questions you should ask yourself before you can consider a project as “completed”
Let’s see them:
1) Are all loaded libraries necessary? Or did you start your website with Prototype just to find jQuery was better? In this case did you remove Prototype scripts? Why are you still using mouse listeners if you decided to steer your car with arrow keys? Remove all unused libraries to speed up the project.
2) Did you use some “quick” variables such as $temp
or $a
? Try to imagine yourself changing something in your project after six months your customer is using it. Can you remember that $temp
holds the temporary array of salaries? Why didn’t you call it $temp_salary_array
?
3) If you are using OOP, do you have classes that could (or maybe should) be split in subclasses? Remember that 10 small classes are way more reusable than a big one.
4) Did you comment the core of the code? Again, try to imagine yourself changing something after six months. You can’t remeber the meaning of every while
loop, unless you comment at least the most important ones
5) Are there unused files in your directory? This may happen when the customer wants to remove some content, such as a picture, from a web page. In most cases you modify the HTML without physically deleting the unused files. And if this unused file is an indexed web page, the problem remains as search engines will still drive traffic to the page.
6) Is your project ready for next-generation resolution? Remember screen resolution changes… are your background seamless to face a higher resolution? Do they fade? Does your page have some appeal on a tiny netbook?
7) What if you are going to sell/give the source code? Is the code ready to be sold? Or is it just a bunch of patches to make something work in some way?
8) Did you keep all necessary files to make occasional changes? Imagine the customer wants to change the color of the header of the website you created, and you don’t have anymore the Photoshop/Illustrator file…
9) Did your put your name or your company name somewhere? Always try to put your name and your link somewhere. It’s called marketing. And… no, your name shouldn’t blink and shouldn’t be bigger than the customer name
10) Did you sanitize user input? Or are you ready to handle the customer calling you every day to complain about spam forms trying to sell viagra? From his drills online shop?
11) What if a competitor tries to find weak points of your project? Some designers do not have any ethic and won’t hesitate to show the customer the weak points and bugs of your work to aquire your customer. Try not to leave anything someone else can use to steal your client.
Do you follow there principles? Do you follow some more? Let me know.
Never miss an update! Subscribe, and I will bother you by email only when a new game or full source code comes out.