作者:Kesk, 翻译自:机器之心

如何提高编程技能?恐怕很多开发者思考过这个问题。最近,拥有将近 15 年开发经验的软件工程师 Kesk 写了一篇博客,列举了 40 条对其职业生涯有所帮助的事项。

  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. 最后,保持耐心,保持热爱。

E N D

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方“小詹学Python”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。

40条提升编程技能的小妙招相关推荐

  1. 解决不了bug先放着,这里有40条提升编程技能小妙招

    选自Medium 作者:Kesk 机器之心编译 参与:魔王 这 40 个小贴士,或许可以帮你提升编程技能. 如何提高编程技能?恐怕很多开发者思考过这个问题.最近,拥有将近 15 年开发经验的软件工程师 ...

  2. 提高python代码能力_解决不了bug先放着,这里有40条提升编程技能小妙招

    点击上方 "Python人工智能技术" 关注,星标或者置顶 22点24分准时推送,第一时间送达 来自:公众号 机器之心 | 编辑:真经君 Python人工智能技术(ID:coder ...

  3. 全栈工程师15年经验分享:40个改变编程技能的小技巧

    白交 发自 凹非寺  量子位 报道 | 公众号 QbitAI 编程如何节省更多的时间,犯更少的错误? 最近,这样一份「心得」火了.这位名叫Kesk Noren的软件工程师在Medium上分享了一篇博文 ...

  4. 15年经验分享:40个改变编程技能的小技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法那些事 编程如何节省更多的时间,犯更少的错误 ...

  5. 40个改变编程技能的小技巧

    40个改变编程技能的小技巧 1.将大块代码分解成小函数 2.今日事今日毕,如果没毕,就留到明天. 如果下班之前还没有解决的问题,那么你需要做的,就是关闭电脑,把它留到明天. 中途不要再想着问题了! 3 ...

  6. 睡眠不好怎么办?提升睡眠质量的小妙招

    随着生活节奏的加快.娱乐生活的丰富,睡眠问题逐渐从"小众困扰"上升为国民级焦点议题,睡眠相关产品也越来越受到消费者重视.从失眠到怎样才能睡的更好,逐渐成为我们日渐关注的问题.下面就 ...

  7. 程序猿之健康编程护眼小妙招

    写代码最费眼睛了,快来学学怎么护眼 ● 闭目放松法 静心闭目片刻,以两掌轻捂双眼,两肘支撑在桌子边沿,全身肌肉尽量放松,30秒钟后,睁眼闪眨多次.每日做3-5次.此法能明显改善视力,特别适用于经常阅读 ...

  8. 15年程序员经验分享:40个改变你编程技能的小技巧!

    编程如何节省更多的时间,犯更少的错误? 最近,这样一份「心得」火了.这位名叫Kesk Noren的软件工程师在Medium上分享了一篇博文--「40 Tips that will change you ...

  9. Python 常用小妙招(一)

    本文记录一些 Python 日常编程中的小妙招,并使用 IPython 进行交互测试,让我们更好的了解和学习 Python 的一些特性. 两变量交换 语法: a, b = b, a IPython测试 ...

最新文章

  1. 5G RRC——为NAS层提供连接管理,消息传递等服务; 对接入网的底层协议实体提供参数配置的功能; 负责UE移动性管理相关的测量、控制等功能...
  2. idea源码注释乱码_idea中文注释出现乱码,我靠自己解决了
  3. SIGIR 2019 | 为什么你的毛衣显胖又显黑?这个算法给你答案
  4. ReadDirectoryChangesW 函数
  5. JMeter基础之组件的作用域与执行顺序
  6. IPv4地址何去何从 IPv6不向下兼容的尴尬
  7. Oracle_JOB参数详解
  8. 深入学习js之——词法作用域和动态作用域
  9. 【u023】最长上升子序列(sequence)
  10. 计算机专业考注册测绘师经验,注册测绘师考试攻略
  11. 编译适配 联想Y1(NewifiMini)的Padavan 固件
  12. 域计算机软件安装统计,如何通过SCCM查找客户端计算机已安装的软件清单
  13. chrome设置微信ua_模拟UA实现访问只能在微信上打开的网页
  14. 大数据分析——Matplotlib入门教程
  15. ImageJ自动细胞计数的方法以及批量处理多张图片
  16. 逍遥android模拟器设置,逍遥安卓模拟器更改分辨率的具体操作方法
  17. JDBC和Maven工程的创建
  18. Oracle 下载Windows、Linux
  19. Paper reading
  20. “404x5”年Java技术报告

热门文章

  1. php根据地址获取经纬度
  2. ercp手术为什么那么贵_尼泊尔佛像为什么那么贵?
  3. CentOS 7 解决丢失 nginx.pid 1
  4. win7怎么看服务器文件管理,Win7库文件管理器怎么用 Win7库功能及其使用方法详解...
  5. 火狐浏览器服务器意外响应,Firefox 火狐浏览器 83 发布,已修复任意代码执行漏洞...
  6. 职高学的计算机单招考试能换专业吗,2020年湖南中专生单招考大专能换专业吗?...
  7. python中文件操作中不同的文件操作有何差异_Python学习基础篇 -6: Python中的文件操作...
  8. python itertools模块位置_Python高效编程之itertools模块详解
  9. 人脸识别的python实现代码_手把手教你用1行代码实现人脸识别 --Python Face_recognition...
  10. python 分布式框架_python分布式框架rq的使用