别死写代码,这 25 条比涨工资都重要

来源:http://rrd.me/eucMAgit

若是每一个程序开发人员都只是周而复始地写代码,想必编程的工做就会让不少程序员发狂。那么如何在枯燥的工做中寻找乐趣,我认为咱们要对工做保持激情和兴奋感、始终学习的态度,还须要掌握一些实用高效的编程技巧,这样对于提高工做乐趣和效率大有裨益。程序员

今天给你们分享一下 25 个实用编程小技巧,但愿能够给开发编程人员的工做和学习带来更多的思考。github

一、不要毫无计划地写代码,思考、调研、计划、编码、测试、修改,一个都不能少;面试

二、不要写代码前过分计划,在一头钻进代码前作点计划是好事,可是即使是好事,也可能物极必反。算法

三、请勿低估代码质量的重要性,若是你只可以关注你所写的代码的一个方面,那么确定是可读性。spring

四、使用实现功能的最简单方案,做为专业的程序员,你的职责不是找出问题的一个解决方案,而是找出问题的最简单的解决方案;编程

五、适时放弃,当你开始怀疑一个解决方案的时候,你就应该考虑抛弃它,而且从新思考这个问题。无论你已经在这个解决方案中投入了多少精力。像 GIT 这样的版本控制系统可以帮助你分开管理和尝试多种不一样的解决方案,把它利用起来吧;后端

六、正确使用 Google,除非你正在使用一种极其前沿的技术,不然当你遇到一个问题时,极可能别人早就遇到过一样的问题了,而且也找到了解决方案了。给本身省点时间,先 Google 一下;springboot

七、作好封装,基本的想法就是你想你的代码高内聚和低耦合,意思是说保持相关的代码在一块儿(在一个类中),下降不一样类之间的相互依赖;性能优化

八、作好规划,写好需求再写代码,尽量编写目前正在实现的方案所需的最少许代码;

九、要懂算法,使用合适的数据结构;

十、不要写重复性代码,要用好配置文件,不要使用不必的条件语句和临时变量;

十一、作好代码注释,可是不要给傻子都知道的代码写注释;

十二、必定要写好测试,若是可能的话,甚至在开始写代码实现需求以前,你就应该开始预估和设计须要测试校验的状况了。测试驱动开发 (Testing-driven development, TDD)不是什么花俏的炒做,它是会实实在在会对你思考功能特性、寻找更好的设计方案产生积极影响的。

1三、不要以为代码运行起来就是正确的,有些时候代码的 bug 可能并非显而易见的;

1四、要可以质疑既有代码,做为一个初学者,老是应该假定那些你读不懂的、且没有文档注释的代码极可能就是糟糕的代码。质疑之,询问之,使用 git blame 揪出罪魁祸首!

1五、不要过分迷恋最佳实践,我以为 "最佳实践" 实际上是害人的,它暗示着你不须要深刻研究它,这就是有史以来最佳实践,不用质疑!

1六、不要过分迷恋性能优化,若是你在运行代码以前就在优化它了,那极可能你就是在过早优化代码了,也极可能你正在费时费力作的优化是彻底不必的。

1七、以用户体验为目标,要站在最终用户的角度看问题。专业的开发者要考虑这个特定功能的用户须要什么、怎样使用,要千方百计使得这个功能容易让用户发现和使用,而不是千方百计在应用中用最便捷添加这个功能,绝不考虑这个功能的可发现性和可用性。

1八、为你的开发任务挑选合适的工具,你可使用最原始的工具建造房子,而后享受甜蜜时光。你也能够花费一些时间和金钱去了解先进的工具、更快地建造更好的房子。工具在不断地改进中,你要乐意去学习它们、使用它们。

1九、要理解好代码问题和数据问题之间的关系,即便是程序中最小的 bug 也会致使它所管理的数据去到一种不可预测的状态。尤为是当全部数据校验都彻底在这个有 bug 的程序中进行时。

20、切勿重复造轮子,使用好现有的轮子和各类开源库,会让你事半功倍。固然,不要仅仅为了使用一两个函数就引入一整个代码库,在 JavaScript 中的典型例子就是 lodash 代码库;

2一、对代码审查保持正确的态度,应该把每一次代码复审看成是学习的机会,欢迎他们、感激他们、从中学习,最重要的,当你从你的代码复审人员那里学习到东西的时候,要感谢他们;

2二、用好版本控制工具和系统,新手每每低估了一个好的版本控制系统的威力,我这里所说的好的版本控制系统其实就是指 Git;

2三、不要过分使用共享状态,一个新手可能会尝试使用定时器来解决这个共享变量的竞态条件问题,特别是当他们必须处理一个数据锁的问题时。这是危险的标志,别这么作,注意它,在代码复审中指出它,永远也不要接受这样的代码。

2四、正视 Error,Error 是好东西。Error 意味着你在进步,意味着你能够经过简单的后续修改就得到更多的进步。专业程序员喜好 Error。新手则痛恨 Error;

2五、学会休息,任何人的大脑都须要休息,身体也须要休息。

做者的其余开源项目推荐:

  1. springboot-guide : 适合新手入门以及有经验的开发人员查阅的 Spring Boot 教程(业余时间维护中,欢迎一块儿维护)。
  2. programmer-advancement : 我以为技术人员应该有的一些好习惯!
  3. spring-security-jwt-guide :从零入门 !Spring Security With JWT(含权限验证)后端部分代码。

公众号

若是你们想要实时关注我更新的文章以及分享的干货的话,能够关注个人公众号。

《Java面试突击》: 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本公众号后台回复 "Java面试突击" 便可免费领取!

Java工程师必备学习资源: 一些Java工程师经常使用学习资源公众号后台回复关键字 “1” 便可免费无套路获取。

个人公众号

相关文章
相关标签/搜索