记录自己的一些思考
Posted zhangpengfei5945
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录自己的一些思考相关的知识,希望对你有一定的参考价值。
-
重视单元测试
首先为什么要写单元测试呢?
一开始我也觉得是一件挺浪费时间的是事情(有这个想法是因为当时写的代码太少了,同时没有考虑到后面的可维护性),记得在上一家公司的时候,架构师要求必须要写单元测试,不写不让上线。当时还是一名实习生,也不明白为什么要写呢,我自己大致测一下,为什么还要花时间去写单元测试呢?当时是有点迷茫的。
现在我觉得需要写的原因主要有以下几点:
a. 保证逻辑正确
b. 重构或者优化的时候有一个标准,自己心里也有底
c. 方便其他同事接手,可以跑单元测试帮助了解业务逻辑和代码逻辑 -
编程语言(主要是服务端开发)
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一样持开发态度。 -
改动一点要小,局部分解化:less is more
遇到Bug,或者大项目的时候,一定要将任务拆解为细粒度的,因为拆分为细粒度的更加具体化,可控性更强,更容易找出问题的所在。
a. 改动要小
b. 任务分解要小
c. 小步快走
以上是关于记录自己的一些思考的主要内容,如果未能解决你的问题,请参考以下文章