You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
5.0 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 代码之丑
## 你将获得
* 一套实用的代码坏味道自查清单
* 25+真实代码段反面案例
* 解决坏味道代码的 20+ 重构手法
* 整洁代码的设计原则
## 讲师介绍
郑晔网名dreamhead推文科技技术VP极客时间《[10x程序员工作法](https://time.geekbang.org/column/intro/100022301)》《[软件设计之美](https://time.geekbang.org/column/intro/100052601)》专栏作者。
郑晔是一位有20多年研发经验的技术“老兵”曾担任火币网首席架构师、ThoughtWorks首席咨询师对代码整洁之道有深入理解热衷于不断优化代码质量和编码效率。
## 课程介绍
我们知道,写代码要具有正确性和可维护性,能把代码写对,是每个程序员的必备技能,但能够把代码写得具有可维护性,这才是一个程序员从业余迈向职业的第一步。
那具体要怎样编写可维护的代码呢?我建议你从“代码的坏味道”入手,为什么?
我们以往学到的知识,大多都会告诉我们应该怎样做、怎样做是好的,但应用这些内容,需要我们对整洁代码有着深厚的理解,而每个人对同一件事的领悟程度是不同的。比如说,我们都知道“命名是要有意义的”,但什么样的命名才算是有意义的呢?有的人只理解到不用 xyz 命名,虽然他起出了自认为“有意义”的名字,但这些名字依然很难懂。
虽然知道正面的代码是什么样子,却不知道反面的代码是什么样子,这会导致很多问题重重的代码就堂而皇之地留在了眼皮底下,为未来的开发埋下了无数的隐患。
因此坏味道是写出好代码的起点。有对代码坏味道的嗅觉能够识别出坏味道接下来你才有机会去“重构Refactoring把代码一点点打磨成一个整洁的代码Clean Code
我是郑晔,一个写代码超过二十年的程序员。在这个专栏里,我会把最常见的坏味道直接用代码形式展现出来,给你即学即用的坏味道检查清单。在这个专栏里,我不仅会告诉你典型的坏味道是什么,我还会给你讲支撑这些“坏味道”之所以为“坏味道”的原因,以及应对这些坏味道的重构手法。
让我们一起修炼,打磨好写代码这门手艺!
**模块设置**
本课程共分为2个模块。
**1\. 13类典型的坏味道。**在这个模块中,我会直接用我们工作中的真实代码作为案例,带你发现潜藏在你的编程中的那些坏味道。同时,帮你深入剖析这些坏味道产生的原因,以及解决这些坏味道的常见重构手法。
**2\. 加餐。**掌握了什么样的代码是坏味道也就有了具体的评判标准。那么该如何去运用坏味道这把“尺子”呢这就不得不说一说Code Review这件事。同时我也邀请了两版《重构》的译者熊节来到我们的专栏为你讲解阅读《重构》这本书以及使用重构这门手艺最关键的问题是什么。另外在课程更新之初我会给你留个需要动手实现的作业完成四个小的需求。那么在这个模块中我会选择一些典型的作业进行点评带着你即学即练。
## 课程目录
![](https://static001.geekbang.org/resource/image/1f/y3/1f5f797e75bce5a20af74904cyy7eyy3.jpg)
## 特别放送
#### 免费领取福利
[![](https://static001.geekbang.org/resource/image/69/dc/69c52d08278a2164dc5b061ba342a5dc.jpg?wh=960x301)](https://time.geekbang.org/article/427012)
#### 限时活动推荐
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
## 订阅须知
1. 订阅成功后推荐通过“极客时间”App端、Web端学习。
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1)订阅课程享受原价5折优惠。
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。