成为一名有10倍价值的开发人员有捷径吗?如果有一个神奇的秘密,能为您打开一道通向全新、高效的软件开发世界的大门,您愿意聆听吗?

总是有怀疑者认为:“没有捷径可走!每个人都需要练习才能变得更好!” 的确如此,但是软件生产的专家本质究竟是什么?有没有一个可以令开发过程产生巨大变化的关键细节?

是! 有!
但是,即使我愿意分享这个秘密,甚至将它赠送给您并详细为您说明-可能也仍需要花10年的不断练习,才能令您完全欣赏这份简单的美。

这是我曾经经历的事情。我高中的程序设计老师曾用通俗易懂的英语给我讲了一下。但一直到了十年后,我才真正明白背后的意义。现在,我终于深深地体会到了这堂课的重要性,即使我知道这只是一堂课,而您只靠看而不实践是无法真正体会到我希望与您分享的,所以现在我使用一些示例代码逐步介绍了应用它的过程。

这个方法是平均生产率和10倍生产率之间的关键差异。一方面,知道此方法能让您在编程期间,带来事半功倍的杠杆作用,您可以提高几个数量级的效率。另一方面,当引入新的需求抑或周围代码发生变化时,您可以藉此方法来编写更可重用且不太可能break的代码。

使生产力提高10倍的秘诀是精通抽象。许多开发人员将"抽象"视为一个贬义词。您常常听到关于代码的建议,例如"不要抽象化"或Python成名之道就是因为其标榜的"显式优于隐式",这意味着具体要比抽象好。所有这些都是很好的建议(视情况而定)。

但是现代应用程序往往使用大量代码。如果您打印出现代十大应用程序的源代码,那么这些纸叠起来将与摩天大楼的高度相若,并且软件维护成本很高。您创建的代码越多,成本就越高。

抽象是简单代码的关键

正确的抽象可以隐藏对当前上下文不重要的细节,并减少执行相同工作所需的代码量(通常减少几个数量级),从而使代码更具可读性,适应性和可维护性。

抽象不是一条单行线。它实际上是由两个互补的概念构成的:

泛化——删除重复的部分(显而易见的部分)并将其隐藏在抽象部分的后面。
专业化——将抽象应用于特定场景,每次应对新需求仅添加需要的新内容(有意义的内容)。

请查看以下代码的建议:

敲出简易代码的秘密 — 开发人员如何产生10倍的价值相关推荐

  1. 从代码恐惧到开发大牛:开发者“10倍提升”宝典

      新智元报道   来源:Medium 作者:Bar Franek 编辑:大明 [导读]几乎每个开发者都有一个梦想,往俗点说就是让自己每天都变得更优秀更牛叉.简单地说:你想不想变得比自己现在牛叉10倍 ...

  2. 致敬大师 | 你敲出的代码,幸福了我的整个童年

    (点击收听,回到童年) 之所以想要致敬这些前辈们 是因为我们的童年的快乐 是由你们手中的代码组成的 一段看不懂的代码 让我曾经是个快乐的小孩 也足够让我回忆一生 当时流传的"救命" ...

  3. 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 上一章讲述了如何配置使用源代码管理工具SVN并使之与Apache集成,从而实现代码的变更可追溯,虽然在大多数团队里强 ...

  4. -bash-退出_为什么这么多开发人员在找到工作之前就退出了。 请-不要。

    -bash-退出 by Alexander Petkov 通过亚历山大·佩特科夫(Alexander Petkov) 为什么这么多开发人员在找到工作之前就退出了. 请-不要. (Why so Many ...

  5. 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube

    1.前言 上一章讲述了如何配置使用源代码管理工具SVN并使之与Apache集成,从而实现代码的变更可追溯,虽然在大多数团队里强调代码提交之前必须找团队中经验丰富的人来审核通过后方可提交,但这一条有时候 ...

  6. 每日一皮:实习生将他的代码交给高级开发人员,高级开发反手一个...

    高级开发人员反手就是一个Code Review 往期推荐 每日一皮:QA一来,大家都要靠边站! 每日一皮:据说PM就是这样忍受你的! 每日一皮:代码出现Bug的三种表情! 每日一皮:举一反三,这么聪明 ...

  7. 谈谈低代码趋势和开发人员的未来

    最近的低代码平台很火,不光是大厂在扎堆研发,也有很多创业企业在做,大量的资金投入到这个领域,虽然在软件行业,一直是有这个梦想(就是让所有人都可以编程),但忽如一夜春风来,千树万树梨花开了. 关于低代码 ...

  8. VB.NET开发人员必备参考10本书目

    一.程序设计 1.<<Programming Microsoft Visual Basic .NET(Core Reference)>>(Visual Basic NET技术内 ...

  9. Android开发人员必备的10 个开发工具

    工欲善其事,必先利其器,Android SDK 本身包含很多帮助开发人员设计.开发.测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具. 1.Eclipse ADT E ...

最新文章

  1. c语言exit在哪个头文件_C语言函数执行成功时,返回1和返回0,究竟哪个好?
  2. 恩布企业即时通讯软件,EntboostChat 1.4.2发布,iOS开源IM
  3. .net中的4种事务总结
  4. 图像二值形态学——腐蚀和膨胀的C语言实现
  5. cocos2d-x初探学习笔记(6)--场景间切换效果
  6. 计算机应用 范文,计算机应用基础(范文).doc
  7. MySQL数据库基础(简介、操作规范、基本指令)
  8. Windows系统(cmd)常用命令
  9. Crystal Reports - New Report
  10. 火狐一键检测自己的邮箱是否被泄露信息 输入邮箱即可查看是否安全
  11. android intent singletask,android – launchMode =“singleTask”不会创建新任务
  12. 小白必看的经典机器学习入门项目
  13. 逻辑、认识论和本体论“三统一”
  14. 移动端布局三种视口_什么是视口?移动端浏览器中的3种视口
  15. C# XtraReport学习之三 绑定数据
  16. hyperopt/hyperas
  17. ubuntu上打开markdown文件
  18. Linux UVC driver 独立交叉编译记录
  19. 嵌入式开发人员,这些SRAM、SDRAM等存储技术,需要了解一下
  20. 画论87 陈撰《书画涉笔》

热门文章

  1. 小程序开发笔记《二》json转数组
  2. 腾讯在线文档发布:实现QQ、微信多平台多人协作编辑
  3. 浪潮王洪添:数据,重塑云的世界
  4. python爬取7w+『赘婿』弹幕,发现弹幕比剧还精彩!
  5. 云呐|固定资产管理软件开发费用多少钱
  6. redis 缓存问题常见面试题
  7. 对未来计算机的畅想英语50个单词,《英语2》作业
  8. js中双问号??和双竖杠||的区别
  9. ik做尾巴摆动 maya_Maya-IK和约束实现活塞动画
  10. 你可以提要求,别人也可以拒绝