对成功的渴望或许是我们与生俱来写在基因里的一部分。成功会让人幸福,并且几乎每个人都在争取幸福。当我们感到幸福的时候,我们大脑中的化学物质会迸发积极的情感,激励我们获取更多的成功。
成功的职业生涯通常是指规定时间内,发布高质量且被认可的工作。这对于IT开发人员也没什么不同。成功的开发人员能在预估范围内编写出高质量的代码,并通过发布伟大的产品让利益相关者满意。
老实说,如果你google搜索“程序员的好习惯”这方面的内容,那么就会有很多大同小异的文章映入你的眼帘。
但是今天我想从一个略有不同的角度来探讨这个主题。不是关于如何更擅长编程,而是如何使程序员更有市场竞争力。
不要曲解我上面的意思。更擅长编程肯定能让程序员赚更多的钱。但这方面的提高可能最终会受到边际报酬递减的影响。我今天要谈论的一些实践方法,在程序员要求加薪或寻求新工作的时候,搞不好会让收益产生巨大的爆炸。
组织与代码结构的使用
请不要将全部代码塞进同一文件当中,这会给调试工作带来巨大障碍。大家应当对代码进行分组,最好是将代码按照各自功能放置在不同文件内,如此一来,才能帮助修改者快速找到对应的代码片段。
4.要记录每日的工作情况
每天工作结束后总结一天的工作,花四五分钟时间记录一下一天的工作情况,记在txt文本中,是最方便的,打开快。(这个很有用的,特别是写周报的时候)
5.学习如何正确调试
有代码的地方就有bug。大家需要掌握最出色的调试技能,同时运用各类出色的调试工具以更为轻松高效地完成这项任务。
6. 开始编码前首先进行规划
一定要想清楚后再写代码,如果已经开始动手但却仍不清楚自己要做什么,那么您会在试验及错误身上浪费大量时间,并很快发现身体被掏空。Adam说,“我有朋友在一个大项目组里工作,他们组里最高效的程序员是一个高位截瘫用嘴叼着棍子敲代码的人,他总是在写代码之前想得很仔细且很少出错。”
编码常规
1.不要想当然地去构建,确保你所加入的每个特性都有客户在用。
2.谨慎地控制依赖。为了某个效果而引入的库,可能会帮你节省一个小时,但也会导致更多地方被破坏——部署、版本控制、安全性、日志记录、意外的进程死亡。
3.当为个人或小团体开发的时候,把出现的问题累积起来,然后一次性全部解决(或者扔掉代码库,然后重新启动)。当为大型团队开发时,永远都不要让问题堆积,代码库应该始终处于新的开发人员可以看懂的状态,他们会说:“我知道这是做什么的,也知道如何更改它”(代码的)阅读者/编写者的比例结果是这样的:初始代码的编写多过阅读,因此可读性不那么重要,但成熟代码的阅读多过编写。
掌握多种语言。 程序语言总是有其最适合的领域。当你面对需要解决的问题时,你需要找到一个最适合的语言来解决这些问题。比如,如果你需要性能,可能C/C++是首选;如果你需要跨平台,可能Java是首选;如果你要写一个Web上的开发程序,那么PHP,ASP,Ajax,JSP可能会是你的选择;如果你要处理一些文本并和别的应用交互,可能Perl, Python会是最好的。所以,花一些时间去探索一下其它你并不熟悉的程序语言,能让你的眼界变宽,因为你被武装得更好,你思考问题也就更为全面,这对于自己和项目都会有好的帮助。
>>> 敏捷编码 <<<
【习惯25】代码要清晰地表达意图
【习惯26】用代码沟通
【习惯27】动态评估取舍
【习惯28】增量式编程
【习惯29】保持简单
【习惯30】编写内聚的代码
【习惯31】告知,不要询问
【习惯32】根据契约进行替换
>>> 敏捷调试 <<<
【习惯33】记录解决问题的日志
【习惯34】警告就是错误
【习惯35】对问题各个击破
【习惯36】报告所有的异常
【习惯37】提供有用的错误信息
>>> 敏捷协作 <<<
【习惯38】定期安排会面时间
【习惯39】架构师必须写代码
【习惯40】实行代码集体所有制
【习惯41】成为指导者
【习惯42】允许大家自己想办法
【习惯43】准备好后再共享代码
【习惯44】做代码复查
【习惯45】及时通报进展与问题
另外还有一点可以通过自身的学习来获取一大进步。
分享给超过5万的程序员朋友下载,这次我把所有资料重新梳理精简,免费分享给大家 。
究竟有哪些干货呢?先给你们一个目录:
免费领取资料途径:公众平台 “程序员语录"