9个编程好习惯,优秀的程序员坚持了10年,你能坚持多久?
1.多看官方文档
不要被这几个字吓到,官方文档其实都是宝藏。一个成熟的技术诞生,可以没有博客没有书籍,但一定会有一个官方文档,毋庸置疑,它一定是最准确、最实时的资料。编写官方文档的人,也通常就是这些技术或者软件的开发者,他们是对这些东西最了解的人,所以编写的文档不仅质量非常高,通常内容也都是最新的。
因此,官方文档远比网上的各种博客和论坛等更适合入门学习。当我们遇到很多问题和技术细节的时候,认真将官方文档过一遍,你会发现很多问题和认识模糊的地方都会清晰起来。
程序员都应该掌握通过官方文档去学习一个技术的能力,掌握了这项能力,你就具备了学会其他一切技术框架的基础;而且原汁原味的官方文档,还能锻炼你的自我学习总结能力。
2面向搜索引擎编程
很多人总以为无论什么都 Google 一下是一件很 low 的行为,但其实,普通程序员+ Google=超级程序员。
用好搜索功能,Google +Stack Overflow + GitHub 能解决你的大部分问题。
所以,在问别人问题之前,先自己搜索一下吧。
当然,超级程序员可不是会Google就行的,把 Google 到的东西吸收并运用起来,才是真正的能力。
不过,无论是看官方文档也好,还是面向 Google 编程也好,都必须要掌握较好的英文能力。这样才能更好的阅读文档,搜索自己所需要的东西。
3规范命名
ITWorld 曾经发起过一个“程序员最头疼的事情”投票,结果,近半数的程序员认为命名是最头疼的事情。
有时候代码写嗨了,命名的时候就开始放飞自我,gousheng、tiedan、xiaonaigou、i、j.....自己是写嗨了,其他人阅读起来就懵逼了。
所以,不论是内部变量还是全局变量,都要形成自己的一种命名规则,能够一眼看明白变量的意思。混乱或错误的命名不仅让我们对代码难以理解,更会误导我们的思维;反之,良好的命名,则可以大大提高我们的代码易读性,也能大大增强代码的可维护性。
4认真注释
和命名一样让程序员头疼的还有两件事:写注释头疼,别人不写注释读着头疼。
之所以要写注释,是因为当你在写某个程序的时候,可能当下记得很清楚,这一段是什么机制、如何实现,但是当你写的程序越来越多,你会忘记当初为什么这样写,改动和交接也十分麻烦,对代码进行注释就可以有效避免这种情况。注释不仅可以让人读懂代码,甚至能让读代码的人获取更多信息。
不过,注释贵精不贵多。要杜绝大姨妈般的“例注”,漫山遍野的碎碎念注释,实际就是背景噪音。
5不要重复造轮子
“不要重复造轮子( Stop Trying to Reinvent the Wheel)”, 可能应该是每个程序员入行被告知的第一条准则。写程序实际上是一个最能“偷懒”的工作:你现在费力实现的每一个功能,可能早已经有极好的解决方法贡献在开源社区,使用好现有的轮子和各种开源库,会让你事半功倍。
当然,要找到一个非常适合的轮子,是非常不容易的一件事。有时候费了九牛二虎之力找了轮子,却发现有这样那样的问题,最后还是无疾而终。
那么,什么样的轮子是一个好轮子呢?
- 开源,并且 License 宽松。
- 有文档,代码规范,接口友好,最好有实际用例。
- 社区相对活跃。
- 松耦合,定制容易。
总之,只要合适好用,都是一个好轮子。
6多读多写代码
提高编程能力其实没有捷径,最佳方式就是多写代码。
不过,除了写大量代码,提升编程能力还需要大量阅读别人写的代码。
一来,阅读源码可以提高编程能力。学习都从模仿开始,不管是入门时阅读教程里的示例代码,还是进阶时阅读优秀项目源码,都是很好的学习方式。
二来,阅读源码可以提高 debug 能力。只有练习积累的阅读代码的能力,才能看懂代码,从而快速准确地定位代码中的问题。
最后,阅读源码可以帮助形成良好的代码风格 。“开发”不仅要写可以执行的代码,更是 要写别人读得懂的代码 ,这对代码的维护和扩展大有好处。
7预留开发时间
一个程序员能否精确评估开发时间,是一件非常重要的事情。不过对于新手程序员来说,宁可多算一周,不可少估一天。过于“乐观”容易让你的 boss 受惊吓。
毕竟,在评估开发时间的过程中,你需要预设各种修改对其他模块的影响。一个修改后的单元测试,可接受测试,UAT 环境测试,再到上线,很多地方都是需要花时间的。一旦某个测试不通过,然后又得调试,修改,再进行单元测试......谁能保证每次修改都是一次通过的呢。
8大胆重构
重构是程序员的主力技能。
一个程序员最大的勇气就是看自己三个月之前写的代码。但是,学习如何将你的代码重构为一份更好的代码,这是一项很有价值的技能。好的代码是改出来的,代码需要不停的重构, 重构应该贯穿代码开发的整个阶段。
重构也并不应该是在几个月之后重构,最好的方式是实时重构。写一天代码,70%的时间都放到重构上都不过份。
9师傅领进门
最后,作为一个初入职场的新手程序员,找一个可靠的前辈带领自己,是一个非常有利于自己成长的选择。
这个师傅最好能具备这几个特质:
- 支持你:不会因你的成功而利益受损的人。eg.同事相互竞争
- 技术技能:是确保你能从他身上实际学到东西的人。
- 高标准:能让你保持高标准,并不只是为了应付今天的工作,也是为了日后成为更资深的程序员。
这样,当你的工作遇到各种问题时,你的师傅可以带领你走正确的职业发展方向上。
9个编程好习惯,优秀的程序员坚持了10年,你能坚持多久?相关推荐
- 怎样做一个优秀的程序员?这10个问题ChatGPT这样说 ……
本文目录 1 怎样做一个优秀的程序员? 2 怎样成为优秀的架构师? 3 怎样写容易阅读的代码? 4 怎样做项目管理? 5 怎样学习计算机程序设计? 6 怎样提升个人影响力? 7 怎样提升认知? 8 程 ...
- 优秀的程序员都在哪里 如何寻找优秀的程序员?
优秀的程序员都在哪里 这是你第一次公开招募雇员.如同大多数人一样,你会发布广告,可能也会浏览一些大型的网上论坛,然后你就收到了一吨的简历. 一份份看下去,你会想:"嗯嗯嗯,这人应该可以.&q ...
- 转:寻找优秀的程序员(译文)
今天在阮一峰前辈的博客中翻到这样一篇文章<优秀的程序员在哪里>,感觉写的风趣幽默却又富含哲理.所以转载以分享~ 注:本文是阮一峰前辈翻译Joel On software 博文节选,而 Jo ...
- 编程学习了解:一个优秀的程序员必备的五点能力,你都满足了吗?
与30年前相比,现在互联网时代的程序员已经有了很多细分的研发方向,比如前端.后端.算法.桌面软件.人工智能等等,不同的细分方向,也都有不同的要求.但不论选择什么方向,一名优秀的程序员都应具备下面这五点 ...
- 编程规则 - 1 概述 -- 帮助你成长为优秀的程序员 杰出的软件工程师、设计师、分析师和架构师
作者:Jon Ji 2011/8/20 编码规范往往只是对具体编程的格式及细节要求进行规定,但对于提高软件人员编程能力而言,编程规则更具有价值,下面将我的一些观点和想法提出来供大家参考,也希望大家批评 ...
- 学习编程基础知识,进阶成为更优秀的程序员
"脚本小子"常常从某些网站上复制脚本代码,然后到处粘贴,却并不明白其中的方法与原理 当你看到编程语言编进教材的时候,看到一个文科生也在编写Python程序进行数据分析的时候,你 ...
- 寻找优秀的程序员之实战指南-2
寻找优秀的程序员之实战指南 --选自<软件随想录:程序员部落酋长Joel谈软件> [好消息]本书今天(12.10)互动有货,感兴趣的朋友可以 逛逛去 [续]http://blog.csdn ...
- 成为一名优秀的程序员基本要素
职业要求 一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的. 程序员 大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位. ...
- 优秀 Java 程序员写代码的风格
转载自 涨姿势 | 优秀 Java 程序员写代码的风格 今天突发奇想,对编码习惯和 编程风格 很感兴趣,于是乎,找了一下关于编程风格(Java篇)的资料,希望对爱好编码或者开始学习编码的同学有帮助! ...
最新文章
- 华科计算机国家专项分数线,5所985高校中招,华科、中大被捡漏,专项计划录取异常,原因透析...
- UA MATH564 概率论III 期望
- easyUI的引用顺序
- NFS服务器主配置文件名,NFS服务器的搭建与配置
- 847. Shortest Path Visiting All Nodes(三)
- 「HNOI 2015」落忆枫音
- wamp切换mysql版本_wampserver多版本php切换失败
- redis安装----非基于lnmp安装
- 各位玩新浪的SAE的 请点个关注http://weibo.com/i/2062352633
- android 删除开机动画,Android开机logo和开机动画的修改
- Tableau实战 楼市降温分析(七)现期房销售额及累计增长
- 程序员须学计算机语言,IT程序员入门必须要学会的是什么?
- 如何在码云上面上传本地项目
- java spi 热插拔_利用SPI机制实现责任链模式中的处理类热插拔
- 基于GoLang的MMO游戏服务器(四)
- 让顶尖设计师教你10个色彩运用秘技,赶紧洗耳恭听吧!
- 你应该看得懂的RecyclerView嵌套
- 从0基础到车载测试工程师,薪资11K,肯拼搏的人,总会有所收获
- JAVA实现彩色图片转黑白图片 (ImageIO类)
- 美国计算机科学排名前三大学,美国计算机科学专业大学排名(2021 USNEWS)
热门文章
- wpa_supplicant.conf文件详解
- 实验记录 | mutect问题详解:No tribble type was provided on the command line and the type of the file?
- 新闻动态html,news.html
- Win7 x64下内核池溢出覆盖配额进程指针(Quota Process Pointer Overwrite)
- 传输门、D 锁存器、D触发器、建立时间与保持时间
- 债券 零息债 贴现债 计息
- 为什么光标停在表格中间_excel中单元格中的光标为什么总在中间位置_word光标怎么设置...
- 教你打造基于贝壳内核的最简单一键备份还原软件(源代码)
- E22-400T22S1C lora测试说明
- 陶晶驰串口屏学习2之全局变量