最近在看代码整洁之道(Clean code)这本书,其实看的有点痛苦,因为越看就会越想自己写的代码是什么鬼?一些不知所云的命名,不整洁的代码格式,本想诠释代码的意思却添加了一段段废话,还有那些被强制加上去的署名和某年某月的修改信息。

此时的我只想痛改前非,但是我知道看书的时候觉得自己懂了,实际写起来又会很糟糕。我以大牛为榜样,看看自己离这个目标还差的很远我又很烦躁。也许我不该烦,应该从现在开始注意自己写代码的风格。

首先说下命名:

尽管给函数,变量,类等命名没有充斥着a,b,c但是也命名过isDisplay,ApiData等名字,多少有点词不达意,以偏概全。

作者说了,宁愿命名很长也不愿起的名字不知所云。最好是看名字就知道是代表什么,这样连注释都不用写。

我现在感觉自己快傻了,每天干着重复的活,起着同样的名字,我的心里是不愿意这样的。

关于方法,要求要短,一个方法只能干一件事情,传入的参数最好不能超过三个,超过三个就说明可以重构。最合适的参数是不传入参数。名字不宜重复。

要把程序当作讲故事一样写。

关于注释:

好的注释包括法律信息,能提供读者以信息的注释而不是一堆没用的废话、署名。

长篇大论的注释是不合适的。不要注释不要了的代码,直接删掉。注释应该明确清晰,最好不用注释,因为注释会随着时间的流逝变得词不达意。

这点我在工作中也有遇到,代码改了,注释没改,这样的注释根本就没用,还会干扰阅读,一般都会被读者忽略。而且还会给人一种这些代码没有被很好的维护的感觉,当然就不会被很好的对待。

看了很多书,学会了很多知识,但是我还是不能写好我的代码。我这个人就是太想一口气吃成胖子了,慢慢磨练自己的代码吧。

Clean code 关于注释、函数、命名的感想的更多相关文章

  1. Clean Code(二):函数

    笔记2:函数1.短小.还要更短小    每个函数都一目了然,每个函数灰依序把你带到下一个函数    if.else.while语句等,其中的代码块应该只有一行,块内调用的函数名称应该较具有说明性2.只 ...

  2. 说说怎么写clean code

    前两天参加了公司组织的一个培训,主题是“如何写出好的代码” ,刚看到这个主题,第一反应是又不知道是哪个培训机构来忽悠钱的!老大安排了,就去听听呗. 说实在的,课程内容没有什么新鲜的东西,就是讲讲如何发 ...

  3. 《Clean Code》 代码简洁之道

    作者介绍 原文作者: Robert C. Martin, Object Mentor公司总裁,面向对象设计.模式.UML.敏捷方法学和极限编程领域的资深顾问,是<敏捷软件开发:原则.模式.与实践 ...

  4. 聊聊clean code

    clean code,顾名思义就是整洁的代码,或者说清晰.漂亮的代码,相信大多数工程师都希望自己能写出这样的代码. 也许这是个千人千面的话题,每个工程师都有自己的理解.比如我,从一个天天被骂代码写得烂 ...

  5. Clean Code之JavaScript代码示例

    译者按: 简洁的代码可以避免写出过多的BUG. 原文: JavaScript Clean Code - Best Practices 译者: Fundebug 本文采用意译,版权归原作者所有 引文 作 ...

  6. 《clean code》讲述代码中的道,而不是术

    Clean code 看<clean code>一书,学习高手写出的代码,简单高效的代 1.目标 Bjarne Stroustrup:优雅且高效:直截了当:减少依赖:只做好一件事 Grad ...

  7. 【笔记】Clean Code(持续更新)

    这个暑假出来实习,第一次体会到在一个团队中开发的体验,与网上的网站看到的大为不同,以前看网上说什么程序员写了屎山代码,写了一堆模糊的注释或者说垃圾代码不写注释. 但在我的实习体验中,代码虽然看起来很多 ...

  8. Clean Code 笔记 之 第二章

    你是否真正的会命名 前言 这是我第二次看这本书了(Clean Code)的时候,第一次看的时候是,看到某世界五百强在他们的代码中我竟然看不到一句注释,现在我还记得当时的情景,当我Download 下第 ...

  9. 《Clean Code》读书笔记——第二周

    本周我阅读了<Clean Code>. “神在细节中!”,建筑家范德罗如是说.他当然专注于基于宏伟构架之上的永恒建筑形式,他也同样为自己设计的建筑挑选门把手.同样软件开发也是这样,小处见大 ...

随机推荐

  1. 日常SQL总结

    THEN '理财帐户' ELSE '其他' end case后可以加入条件在写when,length(String) 为string的字符长度 length(),括号里不仅可以是string的字符串, ...

  2. Spark Partition

    分区的意义 Spark RDD 是一种分布式的数据集,由于数据量很大,因此它被切分成不同分区并存储在各个Worker节点的内存中.从而当我们对RDD进行操作时,实际上是对每个分区中的数据并行操作.Sp ...

  3. 学习Spring-Data-Jpa(十五)---Auditing与@MappedSuperclass

    1.Auditing 一般我们针对一张表的操作需要记录下来,是谁修改的,修改时间是什么,Spring-Data为我们提供了支持. 1.1.在实体类中使用Spring-Data为我们提供的四个注解(也可 ...

  4. LeetCode 923. 3Sum With Multiplicity

    原题链接在这里:https://leetcode.com/problems/3sum-with-multiplicity/ 题目: Given an integer array A, and an i ...

  5. 关于新版本cube.js 集成preosto 的一个说明

    实际上cubejs cli 是可以使用的,只是官方文档对于dbtype 说明的问题 使用如下命令我们可以创建prestodb 的基本项目   cubejs create -d prestodb myd ...

  6. nginx 添加用户认证

    nginx 添加用户认证  nginx 配置文件添加: 配置代理添加用户认证:server {   listen       ;   server_name localhost;   location ...

  7. 开源项目 03 DocX

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. [RN] React Native 常用命令行

    [RN] React Native 常用命令行 1.查看当前版本 react-native --version 或 react-native -v 2.创建指定版本的React Native项目 1) ...

  9. git-中文乱码

    Windows系统的Git默认是不支持中文显示的,需要进行一系列的设置才能避免乱码的出现,下面总结如何配置Git使其支持中文显示. Git bash options UTF-8编码配置 1.首先进入g ...

  10. 关于简单的 FluentValidation 验证

    FluentValidation :  https://github.com/JeremySkinner/FluentValidation 关于为何要使用,因为微软自带的模型验证有点弱,还需要自己去写 ...