《程序员的职业素养》读后

    这本书的作者是在面向对象领域有名大师级人物Robert Martin,他前两部作品还有敏捷软件开发、代码整洁之道。第一本主要讲设计模式,使用了一个薪资支付系统介绍了24个设计模式的应用。第二本书主要讲如何写出易读和易维护的代码。前两本书主要讲技术,而这里介绍的这本书则上升到了对程序员软素质的提升上。可以说只要沿着大师的作品路线,可以让我们在职业生涯上有比较快速的进步和提升。

    素养这本书贯穿全书就是讲什么是Professional(专业化的),如何达到专业。介绍了那些被人们尊敬的职业如律师、钢琴家等为什么会为人们所尊重,原因就在于其专业性,而软件开发人员为什么很多都不专业的原因。全书从各个方面介绍如何使程序员更加职业化。其中最重要的几点是专业人士敢于承担自己所带来的责任。专业人士不破坏代码的结构和正确性,他们进行测试驱动和代码重构。他们努力掌握自己所在领域的全面知识,不断进取学习,且勤于练习。同时为人谦逊,善于合作解决问题。

    首先,大师让我们知道如何说不。在IT行业,技术人员经常面对的是各种压力,时间、变化、不确定性,在这种环境下,多数人都介于面子或压力进行了轻率的承诺。而最终却一再的延期,令人们怀疑程序员的专业性。因此大师建议职业程序员要敢于说不,更进一步敢于说明不的原因,充分暴露问题,从而让双方达到对结果的认识。当然大师并不是让我们任意时刻都拒绝,而是在高风险的时刻进行拒绝。同时在需要承诺的时候一言九鼎,给自己树立完成的最后期限,并在最后期限来临时完成。

    第二,保持写代码时候的注意力和精力。不在疲劳或心烦的时候写代码,同时在写代码的时候不要听音乐,控制不要让大脑进入编辑舒适区,这样写出的代码虽然快但却缺少全局理性。应该适度被打断,但不能经常被打断。结对编程是一种写代码的优秀实践。与写代码同等重要的是测试,传统的测试会消耗大量的时间,而TDD可以让我们在写代码之前先写测试代码,让我们提前站在可测试的角度进行设计和开发从而保证产品代码的高内聚低耦合及可测性。对于如何避免在高压力的情况下工作,没有好的办法。只有好好利用沟通,利用他人的帮助。同时在压力下保持原则,坚持TDD,坚持重构。而不是在压力下就缩减一些重要实践。

    第三,估算对于业务方和执行方是不同的。业务方会认为估算是一种承诺,而对于执行方,估算只是一种大约估计,这种估计并不准确,估算的准确度呈正态分布。因此估计要根据悲观、乐观估计进行PERT计算从而得出相对更准确的值。同时大任务折分成小任务再估计比单纯评估一个大任务更准确。

    第四,在测试方面。从产品的验收测试和QA的测试体系,书中均有涉及。TDD作为测试的最基础环节,是代码可重构的重要保证。

    第五,程序员的时间和精力是宝贵的。需要利用时间管理的方法规划和提高时间使用效率,同时管理会议和争论。要维持精力就要保证比较好的睡眠和锻炼。

    第六,也是对我感触比较深的地方,即练习。大师讲钢琴家每天都练习手指的感觉,程序员也要每天练习,保持自己的大脑和手指的敏捷性。

    最后,对于团队管理者,这本书也介绍了团队的养成以及团队成员的培养辅导的重要性。

    这本书读完对我个人感触相当深刻,介绍给团队成员看后,大家的反响也都非常好,大家均认识到自己之前的不专业之处,大家也愿意让自己更专业,对团队士气和凝聚力都有比较好的提升作用。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值