《极客时间:代码精进之路》学习笔记

认知

明确作为一名 Code Reviewer 的职责

一个代码评审者的主要工作,不是批准或者拒绝提交的代码,而是提出合理的建议,帮助代码提交者规避这些失误或者错误,编写出更优秀的代码。

使用最直观的编码方式

坚持使用最直观的编码方式,而不是追求代码简短,可以避免很多不必要的错误。减少错误、节省时间,是我们现在选择编码方式的一个最基本的原则
比如在使用条件语句 if 和使用条件运算符 ?: 时,不要纠结用哪个更好,也不要追求简短使用条件运算符,当其中的逻辑比较复杂时,可读性就比较差了。

“好”代码与“坏”代码

“好”代码与“坏”代码并没有统一的衡量标准,但有一些经验值得我们学习借鉴:
“好”的代码应该:

  1. 容易理解;
  2. 没有明显的安全问题;
  3. 能够满足最关键的需求;
  4. 有充分的注释;
  5. 使用规范的命名;
  6. 经过充分的测试。

“坏”的代码包括:

  1. 难以阅读的代码;
  2. 浪费大量计算机资源的代码;
  3. 代码风格混乱的代码;
  4. 复杂的、不直观的代码;
  5. 没有经过适当测试的代码。

优秀的代码是“经济”的代码

优秀的代码应该是投入少、收益大、投资回报高

“经济”的代码行为:

  1. 代码写得又快又好;
  2. 代码跑得又快又好;
  3. 代码写得精简易懂。

“不经济”的代码行为:

  1. 代码写得快但错误多;
  2. 代码跑得快但安全问题多;
  3. 代码写得精简但没人看得懂。

好的代码服务于整个软件生命周期

写代码时应该跳出开发视角,从整个软件的目标思考,能服务于软件目标,适合软件目标的,对于整个软件生命周期都是经济的才是好的代码,而不是说代码中用了某个高深的技巧或技术就是好代码。

优秀程序员的六个关键特质

  1. 掌握一门编程语言;
  2. 解决现实的问题。程序员的存在不是为了写代码,而是为了解决现实问题,实现现实价值;
  3. 发现关键的问题;
  4. 沉静的前行者。完美是不存在的,所以我们才追求完美,对完美的过分追求,可能是一个代价高昂,收获甚小的行为;
  5. 可以依赖的伙伴。能够在团队中快速学习、成长,变得越来越优秀,也能够帮助其他团队成员变得越来越优秀;
  6. 时间管理者。要坚持做需要做的事情。不需要的、不紧急的、价值不大的,我们可以暂时搁置起来。一个人,能做的事情是有限的,能把最重要的事情最好,就已经很了不起了。

规范

什么是编码规范?

编码规范指的是针对特定编程语言约定的一系列规则,通常包括文件组织、缩进、注释、声明、语句、空格、命名约定、编程实践、编程原则和最佳实践等。一般而言,一份高质量的编码规范,是严格的、清晰的、简单的,也是权威的。

为什么需要编码规范?

编码规范可以帮我们选择编码风格、确定编码方法,以便更好地进行编码实践。 简单地说,一旦学会了编码规范,并且严格地遵守它们,可以让我们的工作更简单,更轻松,少犯错误。这个问题弄明白了,我们就能愉快地遵守这些约定,改进我们的编程方式了。

  1. 规范的代码,可以降低代码出错的几率。复杂是代码质量的敌人。 越复杂的代码,越容易出现问题,并且由于复杂性,我们很难发现这些隐藏的问题。
  2. 规范的代码,可以提高编码的效率
  3. 规范的代码,降低软件维护成本
  4. 编码规范越使用越高效

如何给代码起好名字?

为什么需要一个好名字

名字要准确地代表它背后的东西,并且还能让代码干净漂亮。不然,我们的思路就会受到干扰,影响我们的思考和心情。
名字就是沟通的方式,错误的命名很难让我们清楚地理解代码真实的意图。所以,混淆的命名很难让我们阅读和理解代码。

为什么需要命名规范?

  1. 为标识符提供附加的信息,赋予标识符现实意义。帮助我们理顺编码的逻辑,减少阅读和理解代码的工作量;
  2. 使代码审核变得更有效率,专注于更重要的问题,而不是争论语法和命名规范这类小细节,提高开发效率;
  3. 提高代码的清晰度、可读性以及美观程度;
  4. 避免不同产品之间的命名冲突。

常见的命名方法

  1. 驼峰命名法(CamelCase);
  2. 蛇形命名法(snake_case);
  3. 串式命名法(kebab-case);
  4. 匈牙利命名法。标识符由一个或者多个小写字母开始,这些字母用来标识标识
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

T Head

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值