谈谈系统与细节

来源:互联网 发布:中国战争机器知乎 编辑:程序博客网 时间:2024/05/01 16:03

在说这个话题之前,我想先说一个古老的故事:一位记者到建筑工地采访,分别问了三个建筑工人一个相同的问题。他问第一个建筑工人“正在做什么活”,那个建筑工人头也不抬地回答,“我正在砌一堵墙。”他问第二个建筑工人同样的问题,第二个建筑工人回答说,“我正在盖房子。”记者又问第三个工人,这次他得到的回答是,“我为人们建造漂亮的家园。”记者觉得三个建筑工人的回答很有趣,就将其写进了自己的报道。十年后,第一个工人在另一个工地上砌墙,第二个工人坐在办公室里面画图纸,他成了工程师,第三个人,是前面两个人的老板!

   这说明了什么呢?很明显这是一个思想的高度问题,用一句话来说就是:系统创造人生。以全局的观点看问题,将会影响到人的思想意识;思想意识的积极性将会影响人的行为,长期的主动行为将会形成习惯,多个好习惯就会创造美好的一生。  这是一个各行业都有效的结论,我们软件开发行业也是这样,学习软件开发,如果完全把眼光盯在IDE的使用上,如快捷键的使用,所有控件的各种功能,对系统工程,编程思想,算法等不做一个系统的了解,将难以真正明白软件开发的真谛,无法用更简、更快、更好的方法实现客户的需求。

也许有人会说了,大学里有系统工程学专业,为什么毕业了还是很难找到工作,当然,只有系统工程是不行的,就像只画漂亮的图纸而不去砌砖头,永远无法完成房子的建设一样,所以熟练使用IDE也是必要的。我的建议是:掌握系统性的思想,在这个思想指导下完成具体性的实现。有不少学习软件开发的人,都是拿来别人的代码复制、粘贴,完成自己的任务,而过后也不看看别人的代码是怎么实现的,那么下次,就算是类似的问题,还是得找别人要代码,这样的程序员也就只能永远砌同样的房子。

对于初学者,建议拿到一个项目,首先要看一下这个项目到底要实现什么样的功能?达到什么样的效果?先弄清楚“需要什么”的问题;然后再想想为了达到你的需要应该怎么样做?要分几个部分?各个部分之间怎么连接等?这是“分解需求”,就是画工程图纸;然后才是写代码,实现分解后的功能,也就是砌砖头;房子修好后,要经过建筑工程质量核验合格后才可以提交给客户,软件开发也一样,要经过调试、测试后才算真正完成。做大项目当然还更加复杂,会有很多很多说明书、计划之类的文档,就算是做小项目,也要有这个思路,那怕做一个小网站项目,也会应用到以上几点。拿来就做,错了再改,费时费力还不讨好。

另外还有一句话:细节体现价值。如果说“千里堤防,溃于蚁穴”,“失之毫厘,谬以千里”是老生常谈的话,那么在程序中一个小bug,往往要花很长时间来调试的经历应该是有的吧,这就不多说了,成熟有经验的程序员不但是写代码的高手,更是调错的高手。平时在写程序时注意代码的规范化,如缩进、标点符号、命名等等,这不但是为了好看,更是为了减少细节上的错误。

    以上所写,总结起来就是二句话:系统创造人生,细节体节价值。愿大家在以后的道路上少走弯路,获得更大的成功!

原创粉丝点击