How do you think about programs?
karim: "Divide each difficulty into as many parts as is feasible and necessary to resolve it."René DescartesI break the program in functional parts that are easier to grasp and I assemble those parts only after having written tests for those parts.