工作10来年了,总结出一些编程技巧,个人看法,不喜勿喷。有用的点就吸收。无用的点就忽视

  1. 将大块代码拆分成函数。

  2. 下班的时候还有问题没解决,请关上电脑,明天再看。

  3. YAGNI 原则(你不会需要它):只写别人要求你写的功能。不要预测未来,只需要尽可能快地完成开发。只编码解决当前问题最必要的部分。

  4. 你不需要什么都懂,也不需要了解所有框架。最棒的事情莫过于打好基础。在开始使用一个框架前先深入了解这门语言,学习基础的事项(如 SOLID 原则),或者如何写出干净的代码。

  5. KISS 原则:KISS(保持简单和愚蠢)原则表明,大多数系统保持简洁而非复杂化,就可以运行得很好。尽管这很符合逻辑,但有时候却很难做到。

  6. 不要想太多。

  7. 如果你和一个问题或 bug 斗争了太长时间,先离开一会儿,等下再回来。通常,在离开办公室去往卫生间的路上,解决方案就会出现在脑海里。当你对客户或同事生气时,也建议你暂时离开去走走,如果你还想保住工作的话……

  8. 学习写有用的测试,学着用 TDD(测试驱动开发)。TDD 是一种软件开发流程,它是对如下简短开发周期的重复:写测试;运行所有测试,查看新的测试是否运行;写代码;运行测试;重构代码;重复。

  9. 先解决问题再写代码。不要在一筹莫展的时候开始编程。

  10. 不要记代码,而是理解逻辑。

  11. 如果你复制粘贴 Stack Overflow 中的解决方案,请确保自己首先理解它。学习用恰当的方式使用 Stack Overflow。

  12. 想学习,先实践。创建示例,并使其运行,因为只通过阅读来学习远远不够。

  13. 研究他人的代码,也时不时让别人研究你的代码。结对编程并进行代码 review 是不错的想法。

  14. 不要重复造轮子。

  15. 代码是最好的文档。

  16. 了解如何搜索。你需要有经验,大量阅读,了解需要找什么。

  17. 你写的代码以后会由自己或别人进行维护,因此写的时候想着读者,不要把自己当做最聪明的人。写代码要像写故事一样。

  18. 用谷歌解决错误的最佳方式是复制粘贴。

  19. 不要放弃,问题总能得到解决的。糟糕的时刻总会过去。

  20. 好好休息。解决问题的最佳方式是先让大脑得到充分休息。

  21. 学习使用软件设计模式。设计模式是软件设计常见问题的解决方案。每个模式就像一个蓝图,你可以依据它进行自定义,进而解决自己代码中的常见设计问题(记住,不要重复造轮子)。

  22. 尽可能地使用集成工具和自动化方式。

  23. 练习编码套路(code kata):编码套路是一种编程练习,可以帮助程序员通过重复实践来提升技能。示例参见:https://codingdojo.org/kata/

  24. 编程并达到接口水平,而不是实现水准。依赖注入是必要的,参见 SOLID 原则。

  25. 重构——测试 - 重构。重构即对现有代码进行重建、改动,在不改变其内部行为的前提下提升内部结构。

  26. 必要的时候寻求帮助,不要浪费时间。

  27. 多实践,熟能生巧。

  28. 尽管有时候注释可以帮到你,但不要在这上面花费太多注意力。注释可能是过时的。

  29. 了解自己的开发环境,并建设足够强大的开发环境,如 IntelliJ。

  30. 重用组件。

  31. 在开发 web 应用时,思考移动端及其相关的电量和带宽限制。

  32. 不要过早地优化或重构代码。尽快做出最小可行性产品比较重要。

  33. 不要为了节约几分钟,而选择低效的捷径。每次写代码,都要竭尽全力。

  34. 遵循文档标准。

  35. 用户不是技术人才。开发 UI 时时刻想着这一点。

  36. 经常使用 GitHub 或 bitbucket 等源代码控制系统,并频繁进行小的提交更新操作。

  37. 使用 log 要比代码 debug 更好。将所有关键部分记录下来。

  38. 写代码时要保持连贯性。如果你使用一种风格,请一以贯之。如果你和多人合作的话,请和整个团队使用同样的风格。

  39. 不要停止学习,不止是学新语言或新框架,还要关注软件开发基础知识。

  40. 最后,保持耐心,保持热爱。

15年程序员老兵的40条编程技巧,句句都是血泪史!相关推荐

  1. 【本人秃顶程序员】美女程序员观点:程序员最重要的非编程技巧

    ←←←←←←←←←←←← 快!点关注 这是来自一位美女程序员Ali Spittel的观点,至少可以看看美女喜欢和怎样的男程序猿打交道: 当我想与我希望的程序员合作时,我更多地考虑非技术技能,而不是技术 ...

  2. java 开发技巧_优秀的Java程序员必须掌握的代码编程技巧

    Java作为一门编程语言,在各类编程语言中作为弄潮儿始终排在前三的位置,这充分肯定了java语言的魅力,在实际项目应用中,我们已经无法脱离java,它的高性能,稳定性,扩展性已经深入到每一个java编 ...

  3. 怎么提高计算机编程能力,提高程序员技能的11招编程技巧

    1.清晰的分析问题 2.三思而后行如何解决这个问题 3.收集完整的需求. 花点时间,想好产品的目标形态和最终的用户群.在这个阶段思路清晰会给以后节省很多时间. 4.写一个执行计划 对于比较大的项目,将 ...

  4. 从20 年程序员老兵做到上市公司合伙人,怎么少踩坑?

    科技发展日新月异,对于程序员来说,不断地自我修炼必须提上日程.某种程度上,阅读是一条通往成功的捷径. 当你被技术难题卡住时,去读书吧,去书里寻找答案 当你感到人生困顿迷茫时,去读书吧,去书里寻找方向 ...

  5. 深度访谈丨工作13年的程序员老兵,当初为何选择Java?现在后悔吗?

    原创作者:千锋千锋辉哥 一. 前言 最近有不少粉丝私信辉哥,大意就是马上要毕业了,可是到底要做什么工作现在心里还没底.虽然大学是计算机专业,但自己连IT行业到底有哪些具体的工作方向都不太了解,不知道该 ...

  6. 程序员之禅10条法则

    程序员是一份特别辛苦的职业,也是一个承受各种压力的群体.每周6天工作,无休止的加班,甚至过劳死,程序员的身心健康面临很大的问题.禅是另一种生活方式,在物欲横流的今天,禅对于程序员有着特殊的意义和价值. ...

  7. 程序员禅的10条法则

    有点小感触,没事自己看看 程序员是一份特别辛苦的职业,也是一个承受各种压力的群体.每周6天工作,无休止的加班,甚至过劳死,程序员的身心健康面临很大的问题.禅是另一种生活方式,在物欲横流的今天,禅对于程 ...

  8. 程序员在写作这条路上到底能走多远?

    01 杨过这辈子什么时候最痛苦?被郭襄她姐砍掉了一只胳膊的时候,那时他身中情花之毒,活不了多久了,他最爱的姑姑又不辞而别:在这个时候,他想到的就是一个人偷偷地离开,做好了告别这个世界的准备. 我在什么 ...

  9. 高富帅+白富美 15名程序员界性感的奇葩

    你以为美女不会编程,或者会编程的长得都不漂亮?那是以为你没有见过下面这15个程序员!美貌与智慧并存,英雄与侠义的化身,就是他们了! 1.Pavel Durov, 俄罗斯的扎克伯格,Vkontakte的 ...

  10. 共享:程序员走上一条老路。

    共享:程序员走上一条老路. 编程老手们,已经写不出代码了,但我仍然热爱编程这一职业,谨以此文向想要成为程序员的年轻一代们请教. 或许我们都曾年轻过,但永远都会不再年轻,所以年轻的程序们,请相信年轻是你 ...

最新文章

  1. C语言按两个字节读写二进制文件,C语言 读写二进制文件(示例代码)
  2. Linux系统版 lscpu
  3. PHP随机配菜_PHP+JS三级菜单联动菜单实现方法
  4. ASP.NET MVC (三、表单与文件上传)
  5. (Sql Server)SQL FOR XML PATH
  6. php 消息队列_消息队列篇——windows本地搭建RabbitMQ Server
  7. java Servlet技术·笔记
  8. 苹果WWDC2021终极剧透!新款Macbook Pro外观大改 iOS 15将发布
  9. CCF202104-1 灰度直方图(100分)【计数】
  10. 牛客练习赛26---未完
  11. 第一台全自动电子计算机,关于世界上第一台电子计算机ENIAC的叙述错误的是() senny全自动微电脑水位控制仪...
  12. 基于pyqt5的Demo软件开发
  13. 御剑后台扫描工具下载、安装、使用教程
  14. TIMER:肿瘤浸润免疫细胞分析的综合网站
  15. 列表求和python_python列表求和
  16. ES DSL搜索 - prefix、fuzzy和wildcard
  17. python虚拟环境创建失败_python 创建虚拟环境时报错OSError, setuptools下载失败
  18. 解决打包APK时候的报错:uses-sdk:minSdkVersion 22 cannot be smaller than version 23 declared in library
  19. commit分拆多个 git_Git拆分commit提交
  20. 记php cmsv9采集管理,采集图片地址协议为https不能下载的问题

热门文章

  1. MySQL数据库索引优化实战分析
  2. 1032 挖掘技术哪家强
  3. cartographer探秘第五章之 Cartographer 所用到的 C++11 新特性
  4. pytorch在anaconda下安装
  5. JOptionPane总结
  6. 统一视角理解实例分割算法:最新进展分析与总结
  7. vsftpd不支持目录软链接的解决办法
  8. JAVA中的GUI---swing 和awt
  9. C/C++链接过程相关
  10. Windows 2008 R2 导出Excel时提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。