我们为什么要编程,我们应该怎么样编程???谈谈编程中的方法论!
经过多年的编程,吾发现编程的思想对一个程序员是至关重要的,以前拿到一个问题,马上就开始考虑如何来一点一点把他用代码来实现,于是啃啊啃啊于愁眉笼罩千辛万苦下每完成了一点就欣喜若狂。编着编着发现这里不足,那里没考虑到于是东补补西凑凑,异常蹩脚的完成了一个小程序,当时的感觉就像我完成了全世界,或许那个时代是我最开心的。
完成了四五个程序的我,开始发现我做了很多重复的劳动,于是乎开始做我的程序库,编写功能型模块。想到了这些模块只要写一遍就可以受用无穷不禁得意洋洋,或许那个时代我是聪明。
当我写了五六千行代码的时候,我发现我写的功能模块已经记不清什么是干什么的了,而我已经习惯使用别人写的比我好的模块时,我开始迷茫,我做的一切究竟是为了什么。这时我开始研究别人的代码,开始懂得什么是优化,什么是数据结构,什么是数学建模,我开始研究应用数学和软件工程。这时我开始使用C++用类来写程序,或许那个年代我是明智的。
当我写了四五十个*.h和*.cpp后,开始发现我写的类一点都不通用,无法再利用。我开始深入学习类以及面向对象,明白了继承和封装,这时的我才开始深深思考什么是重要的,于是我开始分析问题而不是一上手就开始编代码。或许以前的我是个傻瓜^_^。
我足足花了三年多的时间来浪费我的青春做了别人仅需一年的事情(当然着三年中我积累的经验不可能是一年能做到的,但是对于编程上的修养,我浪费的时间已太多),如果你们没有意识到这点,或许也会浪费很多时间。
分析能力对一个程序员来说是一个重要的属性,它直接关系到你对事物的理解能力和组织能力,程序员做的工作就是将一个事物分解成数学元素然后重新组织在计算机里重现,所以如何处理事物是个要点。
***************摘自《庖丁解羊──闲谈编程思想》 作者:holyfire
希望读了这这篇文章对大家的编程有点帮助。