我们知道,写代码要具有正确性和可维护性,能把代码写对,是每个程序员的必备技能,但能够把代码写得具有可维护性,这才是一个程序员从业余迈向职业的第一步。

那具体要怎样编写可维护的代码呢?我建议你从“代码的坏味道”入手,为什么?

我们以往学到的知识,大多都会告诉我们应该怎样做、怎样做是好的,但应用这些内容,需要我们对整洁代码有着深厚的理解,而每个人对同一件事的领悟程度是不同的。比如说,我们都知道“命名是要有意义的”,但什么样的命名才算是有意义的呢?有的人只理解到不用 xyz 命名,虽然他起出了自认为“有意义”的名字,但这些名字依然很难懂。

虽然知道正面的代码是什么样子,却不知道反面的代码是什么样子,这会导致很多问题重重的代码就堂而皇之地留在了眼皮底下,为未来的开发埋下了无数的隐患。

因此,坏味道是写出好代码的起点。有对代码坏味道的嗅觉,能够识别出坏味道,接下来,你才有机会去“重构(Refactoring)”,把代码一点点打磨成一个整洁的代码(Clean Code)。

模块设置

分为2个模块。

1. 13类典型的坏味道。在这个模块中,我会直接用我们工作中的真实代码作为案例,带你发现潜藏在你的编程中的那些坏味道。同时,帮你深入剖析这些坏味道产生的原因,以及解决这些坏味道的常见重构手法。

代码之丑 代码整洁之道相关推荐

  1. 代码整洁之道 读后感

    代码整洁之道 读后感 The Clean Coder -- A code of Conduct for Professional Programmers 读后感 看完这本书的感受是,这本书和标题的 & ...

  2. 重读【代码整洁之道】

    一.前言 [代码整洁之道]很经典,但也有些过时,翻译上也有些啰嗦,但总体上是好书.通过对本书核心内容的摘抄,结合自己的经验,整理了一些精简的点,这样你就省的去啃那本400多页的书了. 软件质量 = 架 ...

  3. 《代码整洁之道》(Clean Code)- 读书笔记

    一.关于Bob大叔的Clean Code <代码整洁之道>主要讲述了一系列行之有效的整洁代码操作实践.软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关.这一点,无论是敏捷开发流派 ...

  4. 代码整洁之道(一)最佳实践小结

    摘要: Any fool can write code that a computer can understand. Good programmers write code that humans ...

  5. 2015年第11本:代码整洁之道Clean Code

    前一段时间一直在看英文小说,在读到<Before I fall>这本书时,读了40%多实在看不下去了,受不了美国人啰啰嗦嗦的写作风格,还是读IT专业书吧. 从5月9日开始看<代码整洁 ...

  6. 《代码整洁之道:程序员的职业素养》一一1.5 参考文献

    本节书摘来自异步社区出版社<代码整洁之道:程序员的职业素养>一书中的第1章,第1.5节,作者:[美]Robert C. Martin(罗伯特 C. 马丁),更多章节内容可以访问云栖社区&q ...

  7. 【整洁之道】如何写出更整洁的代码(上)

    如何写出更整洁的代码 代码整洁之道不是银弹,不会立竿见影的带来收益. 没有任何犀利的武功招式,只有一些我个人异常推崇的代码整洁之道的内功心法.它不会直接有效的提高你写代码的能力与速度,但是对于程序员的 ...

  8. 3.注释(代码的整洁之道)

    3.注释(代码的整洁之道) 目录 注释不能美化糟糕的代码 用代码来阐述 好注释 坏注释 注:代码的整洁之道PDF: https://pan.baidu.com/s/16PLDWPiusGjcUfW_j ...

  9. 2.函数(代码的整洁之道)

    2.函数(代码的整洁之道) 目录 短小 只做一件事 每个函数一个抽象层次 switch语句 使用描述性的名称 函数参数 无副作用 分隔指令与询问 使用异常代替返回的错误码 别重复自己 结构化编程 如何 ...

最新文章

  1. php 面向对象开发 类的学习 一
  2. 在 Windows 10 中开启移动 WLAN 热点
  3. angular4创建html,Angular 4 Http服务
  4. 银联分账与银联代付_第三方分账系统到底有哪些作用?
  5. 学历全靠编,融资靠忽悠?网传“包养7个女主持”的金融大佬被揭穿了
  6. java 资源描述文件_j2me新手必看-Java应用描述文件(JAD)编辑器
  7. 2017年数模国赛B题第一小题的思路过程(个人思路)
  8. SEO助手-免费万能SEO网站优化小助手
  9. 管理学之父德鲁克:目标管理的八要素和七步骤
  10. 普通路由器DMZ主机设置及访问方法
  11. 可在手机浏览器下载文件的方法
  12. 「运维之美」技术周刊 ( 第 2 期 )
  13. 当Myeclipse或者Eclipse出现launching client
  14. python爬虫学习14
  15. 【微信每日早安推送】每日天气推送
  16. 2020年TI杯大学生电子设计大赛 无线运动传感器节点 备赛、参赛实录(历时一个月)
  17. 实习,内推,校招,社招的区别和联系
  18. 【FME】矢量间进行空间传值、属性关联
  19. python中fact()是什么意思_python中fact函数是什么及如何使用?
  20. SDIO wifi Marvell8801/Marvell88w8801 介绍(三) ---- Marvell8801/Marvell88w8801寄存器介绍

热门文章

  1. 360安全卫士怎么设置允许电脑桌面云便签开机自启动?
  2. django migrate 失效/报错
  3. 大型网站的架构设计图分享
  4. 收藏:安卓投屏大师TC Display直播常见问题详细解决方案
  5. python保存网页截图
  6. DXUT11框架浅析(1)--错误处理
  7. M4a文件解析(一)---某些播放器不能播放m4a(如炬芯播放器)
  8. PDF文件如何转换为CAD电气图
  9. 亚马逊Amazon常用API接口-获得商品详情-接入说明
  10. 项目管理之中高级管理(成本管理)