看到网上的一篇文章说到,软件开发80%的时间应用于思考、设计与统筹需求,而最终用于编程调试的时间不应超过20%。
心里就算算了自己就目前项目的时间分配比,40%的时间在于思考摸索功能的实现,40%的时间用于编写调试,20%的时间才是思考与设计。
这样看来80%的时间都用在了编写代码上,而且对于所有的功能还不一定能完成,编程的基础低是一方面的原因,目前进行的开发,80%的功能事先都不是已经知道如何实现的,都是边学边做的,谁叫自己才入门呢。
在把功能都初步实现了之后,才感觉了思考设计的重要性,由于当初仅仅是为了实现,并没有统筹的考虑,因而一些功能上的设计有很大的欠缺,对其他的功能无法支持,在发现这样的问题之后才回过头来思考不足,进行重新设计实现,而功能之间往往总是有着或多或少的关联的,为了更简单的高效的代码实现,往往就是对原本的推翻重来,这样的过程无疑是一个辛苦的过程,若是能在编码之前就有周全的考虑和稳定可靠设计,那么在实现的时候就避免了推倒重造的开销。
这想来就不是一个简单的事,要做到如此方方面面的经验与积累都是必须的,更多的编码更多的思考,才会凝练得出一个经得起考验的设计。
然而,真正解决之道,不仅仅是设计就能保证的,设计才是开始。