你将获得什么?
- 一套实用的代码坏味道自查清单
- 25+真实代码段反面案例
- 解决坏味道代码的 20+ 重构手法
- 整洁代码的设计原则
课程简介
我们知道,写代码要具有正确性和可维护性,能把代码写对,是每个程序员的必备技能,但能够把代码写得具有可维护性,这才是一个程序员从业余迈向职业的第一步。
那具体要怎样编写可维护的代码呢?我建议你从“代码的坏味道”入手,为什么?
我们以往学到的知识,大多都会告诉我们应该怎样做、怎样做是好的,但应用这些内容,需要我们对整洁代码有着深厚的理解,而每个人对同一件事的领悟程度是不同的。比如说,我们都知道“命名是要有意义的”,但什么样的命名才算是有意义的呢?有的人只理解到不用 xyz 命名,虽然他起出了自认为“有意义”的名字,但这些名字依然很难懂。
虽然知道正面的代码是什么样子,却不知道反面的代码是什么样子,这会导致很多问题重重的代码就堂而皇之地留在了眼皮底下,为未来的开发埋下了无数的隐患。
因此,坏味道是写出好代码的起点。有对代码坏味道的嗅觉,能够识别出坏味道,接下来,你才有机会去“重构(Refactoring)”,把代码一点点打磨成一个整洁的代码(Clean Code)。
我是郑晔,一个写代码超过二十年的程序员。在这个专栏里,我会把最常见的坏味道直接用代码形式展现出来,给你即学即用的坏味道检查清单。在这个专栏里,我不仅会告诉你典型的坏味道是什么,我还会给你讲支撑这些“坏味道”之所以为“坏味道”的原因,以及应对这些坏味道的重构手法。
让我们一起修炼,打磨好写代码这门手艺!
模块设置
本课程共分为2个模块。
1. 13类典型的坏味道。在这个模块中,我会直接用我们工作中的真实代码作为案例,带你发现潜藏在你的编程中的那些坏味道。同时,帮你深入剖析这些坏味道产生的原因,以及解决这些坏味道的常见重构手法。
2. 加餐。掌握了什么样的代码是坏味道,也就有了具体的评判标准。那么,该如何去运用坏味道这把“尺子”呢?这就不得不说一说Code Review这件事。同时,我也邀请了两版《重构》的译者熊节来到我们的专栏,为你讲解:阅读《重构》这本书以及使用重构这门手艺,最关键的问题是什么。另外,在课程更新之初,我会给你留个需要动手实现的作业,完成四个小的需求。那么在这个模块中,我会选择一些典型的作业进行点评,带着你即学即练。
课程目录
开篇词|这一次,我们从“丑”代码出发
课前热身|这些需求给到你,你会怎么写代码?
13类典型坏味道
01缺乏业务含义的命名:如何精准命名?
02乱用英文:站在中国人的视角来看英文命名
03重复代码:简单需求到处修改,怎么办?
04长函数:为什么你总是不可避免地写出长函数?
05大类:如何有效地拆分大类?
06长参数列表:如何处理不同类型的长参数?
07滥用控制结构:你习惯使用的控制结构,多半是错误的
提示
08缺乏封装:如何应对火车代码和基本类型偏执问题?
09可变的数据:不要让你的代码“失控”
10变量声明与赋值分离:普通的变量声明,怎么也有坏味道?
11依赖混乱:你可能还没发现问题,代码就已经无法挽救了
12不一致的代码:为什么你的代码总被吐槽难懂?
13落后的代码风格:使用“新”的语言特性和程序库升级你的代码
延伸阅读
14多久进行一次代码评审最合适?
15新需求破坏了代码,怎么办?
16熊节:什么代码应该被重构?
17课前测试题点评:发现“你”代码里的坏味道
结束语|写代码是一件可以一生精进的事
期末测试:这些代码坏味道知识,你都掌握了吗?
讲师介绍
郑晔,网名dreamhead,推文科技技术VP,极客时间《10x程序员工作法》《软件设计之美》专栏作者。
郑晔是一位有20多年研发经验的技术“老兵”,曾担任火币网首席架构师、ThoughtWorks首席咨询师,对代码整洁之道有深入理解,热衷于不断优化代码质量和编码效率。