《程序员的职业素养》clean code姐妹篇读后小记


前言

        最近拜读了Bob大叔的《程序员的职业素养》(The Clean Coder),深受启发,作为一个刚进入职场一年的小白,在读完大师的作品之后,才发现,在职场中不仅仅是你的软件开发技能是重点,还有很多额外的职场“技能点”也很重要,有些甚至会在你工作的关键点发挥决定性作用。所以在读完这本书之后,想自己整理记录一篇读后感,方便自己时刻翻阅查看,在日常工作中能够时刻牢记这几项准则。也希望这篇文章能够对职场小白们有些许的触动和启发。


一、专业主义

        作者在开篇的第一章就强调了,我们要做一个专业的演员,哦不,是专业的程序员,至少要让别人觉得你很专业,这很重要。在职场上,大家都喜欢和专业的人士相处(至少表面上看起来是专业的),这一点是毋庸置疑的。专业有哪些方面呢?或者说怎么才能在职场上表现的比较专业?

1.1、担当责任

       对于分配给你的任务,要从一而终,认真负责到底。
       对于自己交付的代码,一定要经过自己的完整测试,要对自己写就的代码负责。写出的代码要能正常运行。最好的做法是“让QA找不到任何问题”。

1.2、不要破坏系统的功能

       在开发新功能或者做代码升级时,不能引入新的bug,不破坏系统原有的功能。虽然bug率永远不能等于0,但是我们要时刻进步,职业经验增长的时候,我们的失误率应该至少做到无限接近于0。

1.3、不要破坏系统的结构

       专业人士不会为了引入新功能而破坏结构,“所有软件项目的根本原则是,软件要易于修改”。一个好的软件应该是易于修改的,保持灵活多变的结构。只需要简单的修改就能实现一些功能,如果我们发现到了某一刻,实现一个小功能时却需要改动很多代码的时候,我们就要意识到系统开始变得笨重,不易于修改。我们应该着手进行代码升级,使其保持灵活。
       最好的做法是,经常修改我们的代码,使我们的软件能够一直保持灵活可变。要做到这一点,依赖完善的单测,“测试驱动开发”。

1.4、保持学习和练习

       在一周之中,我们至少需要20个小时的非工作时间,用来进行自我的学习、看书、练习,这段时间只是用来提升自己的,可以学习和工作有关的技能,也可以学习和工作无关的技能、知识,一切的目的只是为了提升自己,为自己以后的职业发展工作。
       至少保持每天3小时的自我学习时间,日积月累,将会使你成为更有价值的专业人士。并且每天开始之前,用20分钟的时间,用另一门语言(比如你工作使用Java语言,可以尝试用c++)去手写快排,保持写代码的手感。

1.5、了解你的工作领域

       这个世界飞速发展,技术更新很快,我们需要保持学习,努力了解你的工作领域,保持对技术的发展轨迹的把握和了解。如果你从事广告,去熟悉广告、推荐系统,去熟悉模型训练,对于这个领域内的技术和业务领域,要了解的很详细,这才会使你变得更加专业。进一步的,我们可以做到去了解其他领域,拓宽我们的思维,比如可以去攻克下程序员究极难题:“如何养生” “如何防脱”等(开玩笑的)。

二、说“不”

       “能就是能,不能就是不能。不要说,‘试试看’”。(尤达)
       职场上,有很多这样的时刻,产品跑来说,这个需求很简单,明天晚上上线,但是你评估了下时间,觉得这是不可能的,这种时候你必须说“不”。对于预估需求的时间来说,我们才是专业的,即使很专业的产品,也不能比我们自己更加精准预估所需要的时间(技术岗进阶到产品经理的排除掉),所以我们要保持专业,这时候需要对产品说,“我预估了下时间,觉得明天肯定无法上线”。
       这时候,产品肯定会使出终极必杀,“这个需求是大老板的,你自己看着办”,很多人在这时候就会在心里犹豫,要不我加个班,“也许”能及时上线,这个需求这么重要,对我来说是个机会,等等等等,但是即使你答应了,在你的心里没有100%的把握面前,绝大部分都会出现问题,比如你开发完成,但是因为时间赶,测试不充分,导致bug带到了线上,对线上产生了问题,公司收入受损,那么”恭喜你“,成功把一个机会变成一个危机。即使你代码没有问题,但是你因为测试不充分肯定会有心里压力,会不会有bug,出bug了怎么办,无形之中给自己很多的心理压力,效果反而适得其反。所以我们要坚决维护自己的立场,“这个需求需要3天才能做完,明天是无论如何也做不完的,即使能做完也会有很多bug,这是你我都不愿意看到的吧”,不要说“我试试看”,如果你输出了“我试试看”,产品一般都会认为这是你对他作出的承诺,也就是“你一定会在明天之前上线”。

三、说“是”

       “言出必果”。在工作中,一个人是否诚信,主要是体现在我们的一个个承诺中。对于某个需求,一旦你说了在下周五之前搞定,那么即使加班加点,也一定要在下周五之前搞定,因为这是我作出的承诺,如果做不到,我们可以把预估做完需求的时间留充分点,但是,一旦我们作出了“我会在下周五前搞定”的承诺之后,那么一定要做到,这是及其重要的。老板和同事需要的是一个能放心给他办事的人,而不是一个“满嘴跑火车”的人。
       当我们在职场上作出了承诺,比如“我明天搞定这个需求上线”,那么你一定要完成,这是专业人士的底线。

四、测试驱动开发

持续更新中


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值