• 2009-01-05

    扩大防守

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/33461687.html

    即便是一个初入职场的程序员,多半也知道编程规范的概念。但是,你是否想过为什么会有编程规范的存在。答案很简单,减少混乱。

    程序员是一群很有想法的人,即便如编码风格之类的问题,一旦允许讨论,那也会引发无穷无尽的争论,括号究竟是放在行后,还是另起一行,每个人都能说出一堆让人听起来很有道理的论据。不过,事实上,这对于项目的目标本身,并没有直接的贡献。所以,有识之士们把编程轨范敲定下来,大家也别争了,照着做就好。经过最初的一段时间,大家便都会按照着这个规范行事,少了无谓的争论,大家便会把精力放在项目本身上。

    如果你用过Rails,你多半会热爱上Convention over Configuration,因为它不让你动脑为那些Model、Controller和View挨个起名字了,要知道,想写好程序的话,名字就是第一个需要头疼的关隘。随着你对Rails开发了解的增多,你会发现,除了CoC的概念,Rails还包含了很多的实践,比如目录组织、比如开发脚本等等,而我们所需要做的,只是遵循这些已有的东西。或许,作为一个有想法的程序员,你会跳出来说,这种做法限制了程序员的创造力。可事实是,真正使用Rails开发的人对这种做法甘之若饴,因为有更多的地方等着他们发挥创造力。

    好吧!我想说的是,我们把太多的精力浪费在无谓的争论上了。让我们把更多的精力放在那些值得思考的东西上吧!

    如果我们可以把一些东西固化下来,无论是规范,还是脚本,抑或是框架,只要有一个一致的东西,大家遵循就好了。写程序,确实需要创造力,但真的不是每个点都需要。而且,不是每个人都可以真正的争到点子上,最差劲的结果是,讨论变成了攻击,N败俱伤。

    守、破、离》是一种做事方式。或许,对于一个程序员来说,离是我们追求的境界,但守是我们应该先做好的。相信你可以对应的上,这里的守,便是前面提到的那些要固化下来的内容。守不仅仅是一个简单的简化编码的方法,我们甚至可以把一些设计上的理念守下来,这样,做类似的应用,我们就不必从头再来。守的范围越大,离的层次也就可以越高。

    软件开发的发展,就是一个守的范围不端扩张的过程,操作寄存器的模式用高级程序设计语言的方式守了下来,一些良好的设计方法用设计模式的概念守了下来,一些好的编程习惯用最佳实践的方式守了下来……

    不妨偶尔停下来,想想什么可以守住。
    分享到:

    历史上的今天:

    引用地址:

    评论

  • 你好,自关注Ruby以来,关注你很久了。现在想找一个Ruby相关的开发工作,但确实做Ruby,Rails的公司很少,希望推荐一下。