程序员修炼之道-笔记

写在前面的话  

    最近突然非常看重对事情的反思与总结,以前看书有做笔记但太少,没有把当时的第一感受记录下来,所以要开始补笔记了。

第一章 注重实效的哲学

1.我的源码让猫给吃了

    半年前总是因为在出现需求与实现不符合的情况下与一起开发的同事起争执,为了给自己开脱找了一堆的理由,在出现问题的一瞬间思考的是把责任归咎于他人从未想着如何解决问题。现在也会时不时会看到几个同事因为一个bug相互推脱,开始述说很久以前的故事最后再加一句难道你忘记了?

    我们都应该更加的为公司负责、为项目负责、为自己负责。

2.软件的熵

    最近在做的一个项目的坑,原有的设计在对外部数据判断是不严谨,结果在执行时需要对数据进行检测。这是一个非常不好的设计,外部数据应该在系统一开始就应该检测,不能让非法数据通过。由于系统的那套机制已经用很久了,上级领导不让动,这样只能让自己也符号这套设计。

    一次跨部门开发,我问另一个同事你的代码静态代码检查了?单元测试了?他给我的回答是之前开发的人员都没做所以我也没做,这让我感到很尴尬,可想而知之后的组件测试就是我一直在帮他们找Bug,并且看了下他们代码的注释,哦,我的天。

    所以我们必须要保持良好的设计、注释、编码等,尽量不要留下“破窗户”,不然又会出现“之前的开发人员也这样”这样的话。

3.石头汤与煮青蛙

     在有些情况下,你也许确切的知道需要做什么,以及怎样去做。整个系统就在你眼前--你知道它是对的。但请求许可去处理整个事情,你会遇到拖延和漠然,让大家主动参与的成功率比强制性参与要高。

    在项目的开发过程中,为了防止煮青蛙的情况发生,每天的站会也许是一个不错的选择。

4.足够好的软件

    有一个同事认为系统中的一个核心模块设计的不够好,想要重构它,但他忽视了一个问题,那套设备每月固定的销售量挺多的,目前没有收到需要修改模块的用户反馈,由于公司的不妥协那位同事还辞职了,我认为他作为程序员不够专业。

5.你的知识资产

    做IT这行知识的投资确实至关重要,我们需要合理的进行知识投资。

    1.多元化

    你知道的不同事情越多,你就越有价值。作为底线,你需要知道你目前所用的特定技术的各种特性。

    2.管理风险

    根据具体情况判断,该出手时就出手。

    3.低买高卖

    就像过去的Java如今的人工智能。

    4.重新评估和平衡

    需要重温自己已经掌握的技能。

    目标

    1.每年至少学习一种新语言

     就像最近自己在学习《大话设计模式》就是为了掌握面向对象的思想,能够更好的用纯C编程。

    2.每季度阅读一本技术书

    在开发项目时阅读项目相关的书,也可以阅读项目无关的一些技术书。

    3.也要阅读非技术书籍

     目前这块自己是想看一些管理方面的书籍,以后有很大的概率会转管理。

    4.上课

    看到这个异常兴奋,感觉真的可以重回大学旁听感兴趣的课程,还有想参加一些开发者大会,拓宽自己的视野。

    5.参加本地用户组织

    这一点对自己来说比较困难,朋友圈太小,但也可以尝试打听同事的朋友们是怎样的。

    6.实验不同的环境

    用Keil开发一年半多了,年前准备用linux开发几个驱动试试水。

    7.跟上潮流

    自己有关注挺多公众号的,偶尔也会看一些博客,但感觉还是不够。

    8.上网

    在互联网上找资料也是一门学问,需要加强。

    把自己所学的东西应用到当前的项目中,或是产生发散性思维。之前自己就因为项目中用到Lua而后悔半年前为什么没有研究,Lua的源码在文件夹中沉睡了半年之久。

    需要合理安排时间学习,带有批判性的去思考哪些东西有用哪些没用,需要有这种分辨能力。

待续。

原文地址:https://www.cnblogs.com/gt-xy/p/8017728.html