程序员的职业素养 02

  通过不到两百页的篇幅回答了大家都渴望了解的问题:专业的程序员具有怎样的品质?只有明确了这一问题的答案才有可能见贤思齐,在非技术层面努力达到职业水准,进而实现自己的目标和价值

  从意义来说,目前对于理工科背景的程序员(尤其是新手)而言,往往把对技术的追求放在首位,容易忽视技术之外的其他因素。技术固然是程序员赖以吃饭的本钱,但是项目的成败却并非仅由技术决定,甚至技术只是众多影响因素的其中一项。

  本书的主要目的正是教导程序员个体如何提升技术之外的软实力,避免重蹈前人的覆辙,以专业的态度和方法解决问题,推动项目不断走向成功。从内容来说,本书区别于传统技术书籍“以术为本”的特点,而是通篇“以人为本”,探讨程序员在工作中可能遇到的各类非技术决策和最佳实践。正如其英文标题“The Clean Coder”所言,本书从承诺与拒绝、编码与测试、面向个人的时间管理与面向团队的协作凝聚、预估与压力、练习与辅导等程序员最为常见的议题出发,详细阐述了专业人士如何干净利落地处理和解决这些议题所包含的各种问题,为读者提供了切实可行的指导意见和建议。这些宝贵的实战经验通常是原则性的内容,不利于理解和应用,于是Bob大叔又加入他四十余年职业生涯所积累的丰富案例进行说明,让读者在轻松幽默的氛围中体会这些经验的奥妙。
以第二章《说“不”》为例,本章开头就给出极具概括性的语句:能就是能,不能就是不能,不要说“试试看”。接下来,Bob大叔就如何说“不”,说“不”时是否需要解释原因,以及什么时候说“不”分别给出自己的观点和建议,阐述的思路非常清晰。文中还通过多个具体场景对这些建议进行描述和说明,足以看出Bob大叔的良苦用心。尽管每章篇幅并不长,其中的信息量却不小,并且值得读者反复体会和亲自实践,这也是Bob大叔“Clean Code”原则的体现。
最后,在本书包含的所有议题中,如果需要挑出三项对我触动最大的,我想应当是:说“不”,时间管理,以及团队协作。这三项是我之前吃过不少苦头从而需要不断改进的方面,相信Bob大叔的专业建议会起到积极的作用和影响。而测试驱动开发、设置验收测试、PERT预估等最佳实践也可以尝试在项目中进行应用推广,让本书的价值能够最终转化为项目结束后大家发自内心喜悦自豪

原文地址:https://www.cnblogs.com/cxy0210/p/14921074.html