11 questions to ask to yourself once you complete a project

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.

Get the most popular Phaser 3 book

Through 202 pages, 32 source code examples and an Android Studio project you will learn how to build cross platform HTML5 games and create a complete game along the way.

Get the book

214 GAME PROTOTYPES EXPLAINED WITH SOURCE CODE
// 1+2=3
// 100 rounds
// 10000000
// 2 Cars
// 2048
// A Blocky Christmas
// A Jumping Block
// A Life of Logic
// Angry Birds
// Angry Birds Space
// Artillery
// Astro-PANIC!
// Avoider
// Back to Square One
// Ball Game
// Ball vs Ball
// Ball: Revamped
// Balloon Invasion
// BallPusher
// Ballz
// Bar Balance
// Bejeweled
// Biggification
// Block it
// Blockage
// Bloons
// Boids
// Bombuzal
// Boom Dots
// Bouncing Ball
// Bouncing Ball 2
// Bouncy Light
// BoxHead
// Breakout
// Bricks
// Bubble Chaos
// Bubbles 2
// Card Game
// Castle Ramble
// Chronotron
// Circle Chain
// Circle Path
// Circle Race
// Circular endless runner
// Cirplosion
// CLOCKS - The Game
// Color Hit
// Color Jump
// ColorFill
// Columns
// Concentration
// Crossy Road
// Crush the Castle
// Cube Jump
// CubesOut
// Dash N Blast
// Dashy Panda
// Deflection
// Diamond Digger Saga
// Don't touch the spikes
// Dots
// Down The Mountain
// Drag and Match
// Draw Game
// Drop Wizard
// DROP'd
// Dudeski
// Dungeon Raid
// Educational Game
// Elasticity
// Endless Runner
// Erase Box
// Eskiv
// Farm Heroes Saga
// Filler
// Flappy Bird
// Fling
// Flipping Legend
// Floaty Light
// Fuse Ballz
// GearTaker
// Gem Sweeper
// Globe
// Goat Rider
// Gold Miner
// Grindstone
// GuessNext
// Helicopter
// Hero Emblems
// Hero Slide
// Hexagonal Tiles
// HookPod
// Hop Hop Hop Underwater
// Horizontal Endless Runner
// Hundreds
// Hungry Hero
// Hurry it's Christmas
// InkTd
// Iromeku
// Jet Set Willy
// Jigsaw Game
// Knife Hit
// Knightfall
// Legends of Runeterra
// Lep's World
// Line Rider
// Lumines
// Magick
// MagOrMin
// Mass Attack
// Math Game
// Maze
// Meeblings
// Memdot
// Metro Siberia Underground
// Mike Dangers
// Mikey Hooks
// Nano War
// Nodes
// o:anquan
// One Button Game
// One Tap RPG
// Ononmin
// Pacco
// Perfect Square!
// Perfectionism
// Phyballs
// Pixel Purge
// PixelField
// Planet Revenge
// Plants Vs Zombies
// Platform
// Platform game
// Plus+Plus
// Pocket Snap
// Poker
// Pool
// Pop the Lock
// Pop to Save
// Poux
// Pudi
// Pumpkin Story
// Puppet Bird
// Pyramids of Ra
// qomp
// Quick Switch
// Racing
// Radical
// Rebuild Chile
// Renju
// Rise Above
// Risky Road
// Roguelike
// Roly Poly
// Run Around
// Rush Hour
// SameGame
// SamePhysics
// Save the Totem
// Security
// Serious Scramblers
// Shrink it
// Sling
// Slingy
// Snowflakes
// Sokoban
// Space Checkers
// Space is Key
// Spellfall
// Spinny Gun
// Splitter
// Spring Ninja
// Sproing
// Stabilize!
// Stack
// Stick Hero
// String Avoider
// Stringy
// Sudoku
// Super Mario Bros
// Surfingers
// Survival Horror
// Talesworth Adventure
// Tetris
// The Impossible Line
// The Moops - Combos of Joy
// The Next Arrow
// Threes
// Tic Tac Toe
// Timberman
// Tiny Wings
// Tipsy Tower
// Toony
// Totem Destroyer
// Tower Defense
// Trick Shot
// Tunnelball
// Turn
// Turnellio
// TwinSpin
// vvvvvv
// Warp Shift
// Way of an Idea
// Whack a Creep
// Wheel of Fortune
// Where's my Water
// Wish Upon a Star
// Word Game
// Wordle
// Worms
// Yanga
// Yeah Bunny
// Zhed
// zNumbers