The clean coder---读书笔记(一)

为什么选择这本书的读书笔记作为第一篇技术博客呢?

觉得这是一种信仰吧,这句话其实也是从一个音乐学院的小伙口中听来的。今年年初被之前工作的售楼部的同事叫去参加周末活动(他们抬了一架三角钢琴在现场,知道我学过就叫我过去玩),有个小伙儿在弹钢琴,身边的前同事缠着他让他弹周杰伦的歌,但是他很严肃的拿出了一本巴赫作品集,说了一句“每次弹琴之前必须演奏一曲巴赫,这是我的信仰”。当时内心突然就被他震撼到了,我也是学过7、8年钢琴的人,怎么从来没有过这样的想法呢,当然我给自己的解释为可能是当初年龄太小了吧。当然也可能是小伙很爱钢琴,而我当初只是为了学钢琴而学。

好了,回归主题,这本书叫做《代码整洁之道—程序员的职业素养》。内容涉及到的技术内容并不多,作为一名程序员新人,完全可以把它作为入门读物。当然虽然我严格意义上讲算不上新人,被大神安利才来拜读,但依然觉得这本书仍然对我有着极为深切的影响,如果早点看到,也许还能少走一些弯路。

个人觉得译者序余晟写的很棒,虽然这次写读书笔记是我第二次阅读此书,对书中一部分内容印象已经有些模糊,但仍然对他的序言开篇讲到的这个问题印象尤为深刻。

我在招聘中经常会问道:“在你过去的工作中,遭遇过那些印象深刻的困难,最后是怎么解决的?……在我看来,与问题本身的难度相比,解决问题的方式、步骤以及反思的程度,才能体现出一个人的职业素养。”—《代码整洁之道—程序员的职业素养》译者序1

纵观Bob大叔的这本书,并没有什么长篇大论难懂的文字,他用自己的亲身经历和最接地气的语言回答了下列5个他自己在前言中提到的问题:

  • 什么是软件专业人士?
  • 软件专业人士如何行事?
  • 软件专业人士如何处理冲突,应对很紧的工期,如何和不讲道理的管理人员打交道?
  • 软件专业人士何时应该说“不”?怎么说?
  • 软件专业人士如何应对压力?

下面就分别针对这五个问题,分段总结下自己的体会吧。

一、 什么是软件专业人士?
Bob大叔用他42年的编程经验告诉我们,首先我们要清楚自己作为专业人士肩上需要承担的责任与义务。什么是责任,首先要对自己发布的软件确保QA找不出任何问题,不能把自己都没有把握的代码提交上去,这就是不专业的做法。这就需要我们在写代码的时候最好先写测试,再写要测的代码,即强调内容使用测试驱动开发(TDD)。其次,要确保自己的代码结构良好,具有可扩展性,用Bob大叔的话来说就是“你必须让修改不必花太高代价就可以完成”。然而想轻松做到这样,恐怕还是需要不断的重构练习吧。关于义务,其实我的理解和大叔不谋而合了,它不是每一个雇主强制性的要求,而是自己对于自己职场道路究竟能走多远的一个前期投资吧。首先我们要了解自己的领域,IT行业的发展迅速,知识更迭有时候会令我们眼花缭乱,所以Bob大叔也很贴心的给出了他认为每个专业软件开发人员必须精通的事项。

  • 设计模式。必须能描述GOF书中的全部24种模式,同时还要有POSA书中的多数模式的实战经验。
  • 设计原则。必须了解SOLID原则,而且要深刻理解组件设计原则。
  • 方法。必须理解XP、Scrum、精益、看板、瀑布、结构化分析及结构化设计等。
  • 实践。必须掌握测试驱动开发、面向对象设计、结构化编程、持续集成和结对编程。
  • 工件。必须了解如何使用UML图、DFD图、结构图、Petri网络图、状态迁移图表、流程图和决策表。

当然这些是远远不够的,除此之外,还要更广泛的学习,接触最新的技术,不要陷于一种语言,多尝试不同的技术。另外,就是练习。唐代著名文学家、思想家韩愈告诉我们“业精于勤荒于嬉”,任何行业都一样,唯有不断的练习才能保持技术纯熟。这本书中大叔介绍的练习方法是,重复做“保龄球游戏”、“素数筛选”这类的Kata(可以理解为“套路”,或者某种固定的“形”—译者注)。多种kata在大叔的网站
http://butunclebob.com/搜索关键字都可以找到。最后,谦逊待人,学会与他人合作,辅导新人,甚至了解自己开发解决方案所对应的业务领域与客户/雇主保持一致,都会为自己的职业道路带来更积极的作用吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Robert C. Martin, "The Clean Coder: A Code of Conduct for Professional Programmers" Prentice Hall | 2011 | ISBN: 0137081073 | 256 pages | PDF | 6 MB Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals. In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice—about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers will learn: - What it means to behave as a true software craftsman - How to deal with conflict, tight schedules, and unreasonable managers - How to get into the flow of coding, and get past writer’s block - How to handle unrelenting pressure and avoid burnout - How to combine enduring attitudes with new development paradigms - How to manage your time, and avoid blind alleys, marshes, bogs, and swamps - How to foster environments where programmers and teams can thrive - When to say “No”—and how to say it - When to say “Yes”—and what yes really means Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn’t written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them—and earn the pride and fulfillment that they alone possess.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值