专业人士的编码习惯

0 背景

编码是一个具有挑战的心智和体力活动,要做好它不是很容易。此篇为《代码整洁之道——程序员的职业素养》的第三篇读书心得,主要讲的是良好的编码习惯。可以用于纠正我们平时低效、不好的编程习惯,抑或是让我们认识到好的编程习惯并去培养它。

1 好的编码的要求

  • 1,代码必须正常工作。
  • 2,代码必须能帮助用户解决问题。
    • 很多时候客户提出的要求,并没有真正解决他们的问题,还需要你去发现这个问题并与客户交流
  • 3,代码必须做到和现有系统结合的天衣无缝。
    • 不能让系统变得脆弱、羞涩,处理好依赖关系,遵循稳健的工程原则。
  • 4,其他程序员必须能读懂你的代码。
    • 尽心锤炼表达,是它们能表达你的编程意图。(程序员最难精通的一件事)

2 错误的编码方式

  • 1,感到疲劳或者心烦意乱时不要编码。
    • 疲劳:奉献和职业精神更多的是遵守纪律原则而非长时间工作的工作狂。
      • 例如凌晨三点还在编码,那样导致结果会是,由于存在很多bug后面还要返工重做。
      • 解决方法:休息一会儿或者是去睡觉第二天再来写。
    • 心烦意乱:例如和妻子吵架、家中小孩生病、出现金钱方面的问题等,在这样的情况下,如果硬逼自己写出来的代码,后面也大多数会被抛弃(如果与之长期相伴,那就更糟糕了。)
      • 解决方法:专门花一块时间,或许是一个小时,来处理造成焦虑的问题。(理想情况应该是用私人时间处理私人问题,因为专业开发人员都善于分配时间。)
  • 2,避免自己陷入流态区。
    • 流态区:自己一个人专注埋头开发代码,为了追求所谓的速度,(认为自己效率极高)放弃顾及全局,写一些后来不得不推到重来的决策。(自己练习的时候,不在此情况)
    • 陷入的情况:边听音乐边写代码,越写越high
    • 避免方法:
      • 结对编程
      • 感觉自己要陷入的时候,放在手头的工作,做一些其他事情(如刷刷朋友圈、回一下邮件)
      • 特殊情况:当自己在努力理解一些复杂的东西时,且被别人打断,可以使用结对编程、TDD(测试驱动开发)帮助自己快速回复被打断时的思维。
  • 3,死活写不出代码时(没有创造性的思维时)
    • 结对编程/做一些其他事情调整一下脑子

3 良好的编码习惯

3.1 创造性输入

因为“创造性输出”依赖于“创造新输入“。但是如何做到创造性输入呢?

  • 广泛阅读、具有创造性、开创性的视频

3.2 调试

很多认为调试≠编码时间,但是对于公司来说,调试和编码时间同样宝贵,最理想的就是避免或者时消除调试。可以使用“测试驱动开发”来降低调试时间,(制造出很多bug的开发人员不专业,就像医生不喜欢重新打开病人的胸腔区修复此前犯下的错误)

3.3 保持节奏

软件开发是一场马拉松,只有通过保存体力和维持稳定节奏来取胜。(专业程序员也会保持精力和创造力)

当感到疲劳时,去休息。当遇到困难受阻时,就放松一会儿。(换一种思维)

坚持自己的估算,(抵制盲目冲刺的诱惑)不要为了缩短进度加班加点的工作,除非

  • 1,个人能挤出这些时间;
  • 2,短期加班,最多加班两周;
  • 3,老板要有后背方案,以防加班失败的措施。

3.4 进度控制

当避免过分乐观而夸下过短的开发时间的海口。

面对进度时,做到早起检测、保持透明,要分清和严守乐观预估、标准预估、悲观预估的时间点,把数字告诉团队和利益相关者。

面对别经理的不合理的期望,(如10天完成一个产品)要让团队和利益相关者明白这是不可能的事,除非另有预备方案,否则不要轻易退步来让任何人对此抱有期望。

3.5 准确定义“完成”

创建一个准确定义的“完成“标准来避免交付失误,让业务分析师和团队人员创建一个自动化的验收测试。(只有完全通过这些严守测试,开发任务才算完成)

3.6 帮助和接受他人

以帮助人为荣,因为自己也有需要帮助的时候。帮助他人还可以让自己站在一个新的视角、更清晰问题看待问题。

程序员往往都是自负、内向、固执的,(喜欢沉浸在各种细枝末节和摆弄各种概念,以证明自己拥有这个星球最发达的大脑。)遇到问题会把自己一个人堵在那里很久,这是很不专业的表现,有时应该去向他人请教。乐于接受他人的帮助,就算那个人不能给予自己真正的帮助,也可以给他一点时间(几分钟到十几分钟)再以致谢感谢结束谈话。

3.7 辅导

作为年轻疼,把向资深倒是寻求辅导作为一种职责,资深人士也有职责应该花时间手把手辅导年轻程序员,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
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.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

繁星蓝雨

如果觉得文章不错可以请喝咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值