7个习惯让你成为高级程序员

初入编程时的我,作为新手,一直很迷茫,从未有方向。总觉得高级程序员,像天空中的星星高高在上。不知道自己通过怎样的姿势,才可以到达。

 

 

直到有一天我阅读了《程序员修炼之道:从小工到专家》,里边的这几条至今受用,以下是我的分享,供也在迷茫期的你参考。如果受用,请把他们记在心里,贴在桌子上。

 

 

1、要有负责心

 

在我们的每日工作中,有一半以上时间是在解决各种Bug。高级程序员在面对这些Bug时会从多个维度思考,Bug出现的时间、系统环境、硬件版本以及软件版本等等。接着修复问题,严格自测,上线后观察,一直会跟进到底,把影响降低到最小。

他们会主动承担责任,为结果负责。面对各种问题时,不是第一时间为自己找借口,不是互相推脱,互相指责。而是,想尽一切办法解决问题,即使解决不了,也会给出最优选择。

 

责任心在程序员的职业生涯中,具有最重要的指导意义,也是成为高级程序员必须具备的素质。

 

2、掌握代码调式技巧

 

众所周知,在移动互联网时代,基于市场和需求的变化,项目周期的变化也会很快。有时一个月的工作计划,会缩短到2个星期。面对巨大的项目压力,程序员的代码质量会有所下降。

 

这时调试技巧就尤为重要。一行代码的输入输出要清楚,一个函数的输入输出要明确而具体。高级程序员会在函数的开始和结束输出Log,把所有的参数和返回值打印到日志系统,便于追踪。在解决问题的过程中,使用开发工具一行一行进行调试,实时观看参数的变化。

 

高级程序员清楚的知道他写的每一行代码在项目中的作用和意义。

 

3、不要重复造“轮子”

 

我们对代码的记忆最多只有2天,如果代码没有注释说明,也许第二天一早就会忘记它的具体意义。30天之前写的代码相信没几个人会记得。

 

重复是怎样发生的呢?

1.程序员们没有意识到他们在重复。

2.程序员们偷懒,他们重复,因为那样似乎更容易。

3.同一个团队的几个人重复同样的信息。

 

新需求持续进行迭代,需求的变化导致代码需要重新修改。这时的程序员也未必是当初那个程序员,导致隐藏的问题产生,产品到用户手上随时可能会爆发问题。

 

高级程序员会尽力避免开发重复的代码,组装成公共组件库是最好的选择。

 

4、尽量使你的程序解耦

 

全球首位计算机博士David Wheeler曾经说过这样一句话,“计算机科学领域的任何问题都可以通过增加一个中间层来解决”。这句话诠释了解耦的重要性。网络七层协议的设计,软件开发的设计中,数据层、服务层和应用层,无不参考这位伟大计算机博士的思想。

 

生活中随处可见这样的例子。共享单车的出现,就是对我们出行的解耦合。你要做的就是在你需要的时候去使用,不需要了解更多的细节,出现问题了也不需要你去维修,只管用就好。

 

高级程序员开发的代码,既屏蔽细节,又提高了灵活性。

 

5、适当的进行重构

 

重构是改善现有代码的设计。在给外部提供接口不变的前提下,随着时间的推移,在内部重写、重做和重新架构代码。

 

什么时间做最好?做的太早,看不出有做的必要性。做的晚,耗费大量的时间周期,会影响当前的项目。

 

初期的系统架构设计以简单、易用为主。在创业公司3、5个人一个小队,开始了一个项目。在人力资源匮乏的条件下,首要任务是先把系统搭建起来,短期实现基础版。后期随着需求的增加,系统变得庞大。早期的架构明显有些弊端,不能跟随项目进行发展。这时候重构就势在必行了。

 

高级程序员清楚在什么时间点进行重构。在不影响外部系统的情况,重新开发,提供更稳定的服务。

 

6、积累自己的代码库

 

如果你做了多年的软件开发,没有积累自己的代码库,没有做好笔记。面对新的项目,所有代码重写一遍。无疑了浪费了很多时间。网络上也可以下载到相关代码,但随手的一个小功能,如果在自己的代码仓库里积累好。也省去了搜索的时间。

 

高级程序员会积累自己的代码仓库

 

7、实践、实践、再实践

 

有很多原则和道理我们听过无数遍,但是从来没有去实践。如果不经过几十万行代码的锤炼。很难达到一个高度。外部环境的支撑很重要。但是,如果没有这样的机遇,就需要我们创造条件去寻找。

 

高级程序员会不停的实践,总结,再实践!

转载于:https://my.oschina.net/u/2969313/blog/1510905

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值