作为葡萄城内训课程之一,由葡萄城内部IT支持系统项目经理Leo为我们带来的《整洁代码之道》将为大家详细讲述代码整洁对于软件质量的重要意义,同时会介绍一些方法,帮助大家识别代码坏味道,让我们的代码保持干净、整洁、易于维护。
该课程从坏代码的经典范例出发,为大家总结归纳了优化代码的流程与具体方法。
我们都说好的代码是“优质资产”,而坏代码则是“账户负债”。
在写代码的过程中,我们图一时轻松,用各种长长的if语句、与非嵌套、循环嵌套省脑省力。但一出问题,后期维护和修改,就会成为难题,正所谓“欠债一时爽,维护火葬场”。
各种代码维护的段子,也成为经典笑谈。

如果我们将软件产品看做冰山,用户可以感知的部分可能只占整体的10%左右,而冰山之下作为支撑的部分,几乎占了90%,这不为人见的部分就是软件的内部质量。
对于程序员来说,写出并维护这90%部分的质量,重要性不言而喻。
而代码整洁就承担了这一重任。

许多刚入门的编程新手,往往在刚开始会认为编程就是机械性的劳动,被“码农”二字所欺,殊不知“自我重复”就是踏上编程歪路的邪恶源头;或者是为了炫技,写出一些难懂的内容,成为当代编程版“有字天书”。

为了保持良好的写作习惯,产出更加整洁、规范、易读的代码,我们需要认识到什么是整洁代码;如何将代码维护的更加干净;培养一个良好习惯,通过以上几点出发,相信会让大家在编程之路上,更进一步。
为了帮助大家对优化过程有直观感受,我们这里从一个例子出发为大家展示如何进行代码优化。
一个好代码的例子,可以顺利向右阅读、简单易懂、函数抽象清晰。

图示内容明显不符,让我们通过两步优化将它变为下图代码:

通过这个例子大家已经可以感受到代码优化的魅力,接下来的内容中我们将会带大家了解更多详细技巧,使我们的代码整洁。
首先,就必须要提到函数。从代码入门,我们就会解除到函数,什么时候需要抽取函数,如何抽取函数是你必须要掌握的内容。
说完了函数抽象,我们会发现我们的代码中还有很多复杂内容,如何简化这部分,也是需要掌握的一个环节。
我们将从圈复杂度出发,以实例带大家练习如何简化复杂代码。
紧接着上节,本节将继续从卫语句、助手函数、复杂表达式简化、变量正确使用等几个点将剩余技艺为大家一一介绍。

说完了技巧内容,我们回到主题。在代码考古过程中,我们可能会发现一些古怪又不合理的内容,但你要意识到,在这样一段异常代码的背后,往往可能有一些故事。不要想当然地修改,或许有时候回到原点或是新生反而是解决问题的方式。
在最后一节中,老师用幽默语言以“意识导向编程大法”为题,综述了一些优秀开发应有的素质,和工作中的思维方法。

总而言之,保持整洁代码并不是一蹴而就,从日常的书写习惯、到思维模式的转变都是循序渐进的过程,希望本节课程可以帮助大家对维持好代码有更加深刻的认知。

所有课程内容可以查看:https://space.bilibili.com/1770065335/channel/collectiondetail?sid=576427

想获取更多优质经典课程内容,欢迎扫描下方二维码添加小助手。

好的代码是优质资产、莫让代码成为负债相关推荐

  1. 代码片段管理工具_VS代码片段:提高编码效率的最强大工具

    代码片段管理工具 by Sam Williams 通过山姆·威廉姆斯 VS代码片段:提高编码效率的最强大工具 (VS Code snippets: the most powerful tool to ...

  2. 《编写高质量代码:改善c程序代码的125个建议》——建议3-5:避免使用浮点数作为循环计数器...

    本节书摘来自华章计算机<编写高质量代码:改善c程序代码的125个建议>一书中的第1章,建议3-5,作者:马 伟 更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...

  3. 块代码编程---开始使用块代码

    http://blog.csdn.net/nicktang/article/details/6906352 本章的几节使用例子代码来开始块代码的学习. 定义和使用块代码 插入符^有两个作用,一个是声明 ...

  4. 如何在vscode运行php代码_如何提高 PHP 代码的质量?

    说实话,在代码质量方面,PHP 的压力非常大.通过阅读本系列文章,您将了解如何提高 PHP 代码的质量. 我们可以将此归咎于许多原因,但这肯定不仅仅是因为 PHP 生态系统缺乏适当的测试工具.在本文中 ...

  5. java中普通代码块,构造代码块,静态代码块的区别及代码示例

    本文转自:http://www.cnblogs.com/sophine/p/3531282.html 执行顺序:(优先级从高到低)静态代码块>main方法>构造代码块>构造方法. 其 ...

  6. 从文本中提取知识图谱代码比较好的,代码对齐,可以使用的

    从文本中提取知识图谱代码比较好的,代码对齐,可以使用的 https://blog.csdn.net/fendouaini/article/details/102987373 https://blog. ...

  7. Jfinal 2.1版本,JFinalConfig里自动配置路由的代码实现,直接晒代码

    2019独角兽企业重金招聘Python工程师标准>>> 背景: 1.我使用的jfinal2.1: 2.我喜欢用@ActionKey("/admin/index") ...

  8. java代码讲解_Java基础系列-代码块详解

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 前言 Java基础系列,尽量采用通俗易懂.循序渐进的方式,让大家真正理解Java基础知识! 代码块 ...

  9. git 合并代码_git的几种实用操作(合并代码与暂存复原代码)

    总述 git工具也用了很久,自己也写了几篇使用教程,今天继续给大家分享一些我工作中使用过的git操作. 1.git合并远程仓库的代码 2.git stash保存当前的修改 这两种情况大家应该都使用比较 ...

最新文章

  1. Joomla 2.5 中文语言包安装模板报错
  2. juniper防火墙做ipsec ***必须开放的端口
  3. 推荐一款github管理神器SourceTree
  4. python替换img的路径为新的路径_以“五智”为核心 南宁电信打造5G时代数字家庭新路径...
  5. C++ class实现链栈(完整代码)
  6. jBPM和Drools工作台中的用户和组管理
  7. java的sql的like_[Java教程]SQL like 模糊查询, in
  8. DotNetTextBox编辑器
  9. 3.Oracle中的函数
  10. JAVA笔记20-容器之四Map接口、自动打包、泛型(重要)
  11. java 8下载_java8下载-java8 64位官方版下载最新免费版-乡巴佬
  12. 2021计算机考研总结即经验贴(初试、复试、调剂、心态调整)
  13. Windows和Linux下搭建J2sdk的环境
  14. NOIP2004提高组一等奖名单[推荐]
  15. 接入新浪微博第三方登录
  16. 上海牌照(沪牌)拍牌,软件,手动
  17. php注入过程详解,PHP注入代码详解
  18. [NLP] 秒懂词向量Word2vec的本质+word2vec资源总结
  19. 09-word不显示段落标记(去掉回车符号)取消拼写错误
  20. ACWing 908.最大不相交区间数量

热门文章

  1. 格子玻尔兹曼法学习记录(附MATLAB画图源程序)
  2. 【视频处理】嵌入式硬件编码(6818)进行H264编码
  3. INPUT输入框灰体提示
  4. fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)
  5. Vue3 _ 11. Vue 生命周期 生命周期狗子
  6. 【B站最良心】2020年中9款热门游戏本最强横评!花8万块买下所有热门游戏本,华硕 天选 联想 拯救者 Y7000P R7000惠普 暗影精灵 6 Plus_哔哩哔哩 (゜-゜)つロ 干杯~-bili
  7. bili上李沐大神的d2l中的损失函数的理解
  8. 新加坡金融科技节 | 蚂蚁金服CTO程立:面向全球开放,与合作伙伴共赢
  9. kafak windows环境的简单测试笔记
  10. 机器学习 --- 4. 大内密探HMM(隐马尔可夫)围捕赌场老千