zoukankan      html  css  js  c++  java
  • 《程序员的修炼之道》

    书的第一章的名字叫注重实效的哲学。其实不像很多人想的那样,程序员并不是一个冷冰冰的枯燥的集体。反而,程序员是更多善于思考的一个集体,不仅仅是对工作,对于人生、世界,程序员都有属于自己的解释。所以才会有这么多的程序员的纷争,从大了讲有自由与封建(开源/闭源)之争;往具体处说,又有诸如UNIX哲学等哲学流派。但作为一个注重实效的程序员,秉持的理念是怎样的、他的人生观应该是怎样的?这本书的第一章给开了个头。

    注重实效的程序员在编程的时候,他们是完美主义和实用主义的结合者。他们对自己的代码要求完美,对自己的错误负责,他们不能容忍破窗户的存在,因为它最终会导致一个失败的项目。但同时,他们也知道在什么时候止步,他们明白他们是在一个不完美的世界上开发代码的,所以他们通常把质量作为一种需求,而不是一个极大的简单期望。

    但是他们的世界是宏观的,他们往往想要从更高的角度来思考问题。他们需要确认自己的每一步都是为了自己的最终愿景,每一行代码都是为了项目的完美实现。他们秉持着这样的价值观,不断的判断自己是否偏离了最终的方向。

    另一方面,所有的高效的程序员都是进化论的支持者,所以他们十分注重自己的进化。他们往往会定期的投资自己,用知识不断武装自己,来适应不断更新的环境。同时,他们不断的同环境交流,很多时候是使用网络或者书面的形式。同时,他们会让自己的产品同样是可进化的化,具有可撤销性,来适应环境。

    最终,是所有注重实效的程序员都坚持的一个原则:简单原则。他们会尽一切可能避免重复,尽一切的可能进行正交的操作。

    术:实现高效的流程方法
    根据上面的原则,我们有通常的几个规律来实现我们的项目。

    当我们面对一个新的项目的时候,我们不应该过于详细的进行每个模块的设计,而是应该使用曳光弹,首先搭建起我们软件框架。随后,在我们缺的程序框架上进行完善。这样能够高效的优先确定我们的路径。

    随后,当我们实现具体的功能的时候,我们可以使用原型,原型可以允许适当的忽略某些细节,来快速验证我们的想法。

    针对具体的问题,我们应该刨除编程语言的干扰,靠近问题领域编程,使用领域语言对问题进行有针对性的开发。

    另外两个适用的通用规律是估算和合约。我们应该使用合约对我们的项目需求和设计进行规范,我们应该使用估算对我们的项目建立模型,设定自己的计划,随后进行代码迭代。

    器:带来效率提升的工具
    从思想上提高了认识之后,我们可以从工具着手提高我们的效率。当然最先确定应该是我们的编辑器,一个高效的编辑器应该满足下面的特点:

    可配置
    可扩展
    可编程
    使用适当的编辑器可以快速的帮助我们提高生产效率。此外我们应该使用适当的调试工具,及时的进行我们的测试和错误跟踪。随后我们应学会使用源码控制工具,使用源码控制工具不仅可以帮助撤销错误的操作,还可以让我们能够快速的定位错误,自动化的进行测试。这是最重要的三个工具,另外一些可以提高我们工作效率的工具是:

    纯文本,它可以用来保存我们的配置、数据、历史工作等,这是一种通用不过时的工具,可以协同我们的开发、测试,且不受特定语言和系统的影响。
    命令行工具和脚本语言,有效的利用这两者一方面可以让我更加深入的使用计算机的很多功能,另一方面提供了我们自动化的方式来进行的我们的编码、测试、乃至快捷地搭建我们的架构。同时可以帮助我们编写自己的代码生成器,避免我们进行重复的工作。
    用:践行高效的过程
    1. 项目之前
    在一个项目开始之前,我们需要的是深入挖掘需求,按照合约设计的方法,规范我们的项目。我们应该找到我们的设计的边际,找到我们真正的约束。
    ————————————————
    版权声明:本文为CSDN博主「myintelex」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/myintelex/article/details/54344463

  • 相关阅读:
    [bzoj1613 Usaco2007 Jan]Running贝茜的晨练计划
    [bzoj1600][Usaco2008 Oct]建造栅栏
    [bzoj3208]花神的秒题计划I
    [vijos1011]滑雪
    [noip2007 pjt3] 守望者的逃离
    DP(1) 背包
    快速幂 模板及应用
    BZOJ1303: [CQOI2009]中位数图
    BZOJ1083: [SCOI2005]繁忙的都市
    Bzoj1084: [SCOI2005]最大子矩阵
  • 原文地址:https://www.cnblogs.com/huaobin/p/14909365.html
Copyright © 2011-2022 走看看