本书虽然主标题为「代码整洁之道」,但其实内容主要讲的是:如何成为一个专业合格的程序员。因此副标题做为主标题更为合适 — 「程序员的职业素养」。程序员
程序员做为专业技术的工种,「职业素养」是咱们须要在整个职业生涯中不断最求的东西,它不只表明你单纯的技术能力(固然优秀的技术水平是必须的),还表明着你解决问题和创造价值的能力。也就是说,我的的技术能力并不彻底表明你做为程序员这个职业的价值,更重要的是你对问题思考和解决的方式、对任务的承诺、同事之间的协做等,最终可以带领团队完成一个又一个看似不可能的任务!学习
如下我将会根据本书的书写思路,挑选几个观点,介绍大体内容和我本身的感想,但愿对本文读者有所帮助。测试
"专业主义"有很深的含义,它不但象征着荣誉与骄傲,并且明确意味着责任与义务。这二者密切相关,由于从你没法负责的事情上不可能得到荣耀与骄傲。编码
本章节主要叙述了作一个专业工程师须要的几点要求:对象
做为了一个合格的工程师,首要一点是懂得承担责任。这一点相当重要,由于这是代表你这我的是否靠谱最明显的特性。从任务是否可以按时完成,对系统上线前的测试验证,哪怕是由于你本身的错误致使的损失,都须要敢于承担责任,尽力完成本身承诺的事情,努力弥补错误。一旦被别人打上不靠谱的标签,那就很难再撕掉了。项目管理
第二点是咱们须要坚持学习,因为技术的革新很是快,只有坚持学习才能不被这个行业所遗弃,同时也坚持训练,毕竟熟能生巧在各行各业都适用。开发
最后,除了专业技术,咱们也须要也有义务去了解本身开发的模块对应的业务领域,未必须要成为该领域的专家,但仍是须要花时间去了解业务的背后价值和原则,知其然知其因此然。程序
能就是能,不能就是不能,不要说“试试看“方法
本章主要叙述一个专业的工程师,要用于说“不”,也要懂得如何说“不”。技术
一个专业人士要懂得说“不”,由于只有将问题暴露出来了,才有解决问题的机会。本章做者用了一些例子来讲明,当你虽然认为项目经理分下来的任务是不可能完成的,但当你选择不对抗,致使他认为你可以按时完成,最后引起了灾难。
因此咱们在平时的工做中,要懂得说“不”,要懂得拒绝,而不是一味的接受。
而“为何不“重要吗?文中的观点是“为何“远不如”事实“重要,对于这一点,我认为能让决策者知道为何是再好不过了。
文中还特别强调了“试试看“的危害性,由于决策者每每会将“试试看”看成一个承诺,排入了他的项目计划中,而工程师每每想表达的只是我尽力,但什么都不保证。
这时候有个问题,项目管理者每每但愿工程师可以准确的预估工做量,可是工程师预估的工做量每每是「我试试看」,实际状况可能差异很大。这里我主要有两点想法:一是做为项目管理者,须要天天实时的了解进度,调整计划,毕竟预估的工做量每每没法作到十分准确,有太多的因素会影响了;二是预估工做量,能够采起 PERT 方法,增长确信度。
本章主要讲述了承诺是什么,如何给出承诺。
作出承诺,包含三个步骤:
有时候咱们没办法作到本身的承诺,每每是由于咱们承诺了一件本身不是能彻底掌控的事。
固然有时有各类缘由致使咱们没法兑现承诺,这很正常。但若是你但愿你在同事的形象是一个靠谱的人,那么最重要的是尽快向本身承诺的对象发出警告,越快越好!!
固然,咱们不该该由于承诺就放弃一些底线,打破纪律和原则每每会拖慢进度,同时也要测试过代码,保证代码整洁。
一天的时间其实会过得很是的快,如何在这短暂的时间内尽量高效的工做、取得尽量多的成果是很是值得研究的事情。
会议是在平常工做中无可避免的事情,可是会议同时也会浪费大量的时间。做为会议的执行人,须要肯定议程和目标,肯定每一个议题所花的时间以及明确的目标。
而做为会议的参与者,首先要懂得拒绝会议,避免参加没有必要的会议,由于对你时间负责的人只有你本身。
咱们平常举行过最多的会议,是站会,每一个人依次回答如下3个问题:
每一个人发言不超过1分钟,目的是减小整个站会的时间,因此要求项目负责人在会议开始前就思考好要安排的内容,而不是现场随意的想,每一个人干脆利落的交代本身的工做,减小无止境的对话交流。
本书还介绍了一种时间管理方法:番茄工做法。这也是我如今正在使用的一种时间安排方法,有兴趣的小伙伴能够自行去了解一下。
管理者和开发者对预估可能有不一样的见解,管理者可能以为预估就是承诺,而开发者每每预估只是猜想。可是不能否认,一个相对准确的时间预估可让管理者作出合适的计划。
这里介绍一种预估方法:PERT,能够根据3个数字预估任务:
那么任务的期待完成时间:u = (O + 4N + P) / 6
标准差(数字越大,表示期待完成时间越不肯定):v = (P - O) / 6
好比一个任务,乐观预估须要3天,标称预估须要6.25天,悲观预估须要11天,那么经过上诉的两个公式能够获得,期待完成的时间是6.5天,标准差是1.3。
固然本书还有不少内容这里没有提到,好比如何处理压力,如何协做,编码的节奏和测试等内容。虽然随着时代的发展和本书做者所在的外国职场和国内职场的差异,有一些的内容我不尽然赞成,或者以为会难以实践。但这并不妨碍本书很是值得每个工程师都阅读一下,相信这对你成为一个更加专业的工程师是有很是大的帮助的。