记录自己的一些思考

  1. 重视单元测试
    首先为什么要写单元测试呢?
    一开始我也觉得是一件挺浪费时间的是事情(有这个想法是因为当时写的代码太少了,同时没有考虑到后面的可维护性),记得在上一家公司的时候,架构师要求必须要写单元测试,不写不让上线。当时还是一名实习生,也不明白为什么要写呢,我自己大致测一下,为什么还要花时间去写单元测试呢?当时是有点迷茫的。
    现在我觉得需要写的原因主要有以下几点:
    a. 保证逻辑正确
    b. 重构或者优化的时候有一个标准,自己心里也有底
    c. 方便其他同事接手,可以跑单元测试帮助了解业务逻辑和代码逻辑

  2. 编程语言(主要是服务端开发)
    PHP: 从大二开始学习和使用PHP,到现在发现还只是会用的阶段,它背后的设计以及为什么这样用,自己还没有了解,同时感觉PHP的生态和社区不是很活跃,所以PHP已经不能作为我的主力开发语言了(强大的数组把数据结构给隐藏掉了,如果不去思考数据结构和算法,是写不出性能高效并且优雅的代码的,同时也不会成为一名合格的工程师)
    Go: 喜欢Go,名字很简单,看到名字就很喜欢,哈哈哈,Go的生态和社区也比较活跃,目前把Go当作是自己的主力开发语言,因为自己的定位是一名分布式后端工程师。
    Java: 了解的比较少,感觉Java的生态是最强大的,没有之一
    C: 保留项,如果有需要和感兴趣的话,C是需要掌握的,因为很多软件都是C写的,如Linux/Nginx/Redis等等
    C++: 了解较少,在C的基础上了解了一点点
    Python: 了解的少,可以用来做数据分析和人工智能等
    综上:
    以Go为主,PHP为辅进行过渡,对Java保持开发态度,有机会有需要的话可以学习的。C是要掌握的,C++、Python的话和Java一样持开发态度。

  3. 改动一点要小,局部分解化:less is more
    遇到Bug,或者大项目的时候,一定要将任务拆解为细粒度的,因为拆分为细粒度的更加具体化,可控性更强,更容易找出问题的所在。
    a. 改动要小
    b. 任务分解要小
    c. 小步快走

原文地址:https://www.cnblogs.com/zhangpengfei5945/p/13093769.html