最近在看代码整洁之道(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. [NOI2019]回家路线

    [NOI2019]回家路线 题目大意: 有\(n\)个站点,\(m\)趟车,每趟车在\(p_i\)时从\(x_i\)出发,\(q_i\)时到达\(y_i\). 若小猫共乘坐了\(k\)班列车,依次乘坐 ...

  2. 【loj2263】【CTSC2017】游戏

    题目 小\(R\)和小\(B\)一共完了\(n\)局游戏,第一局小\(R\)获胜的概率为\(p_i\),没有平局,对于第$ i $局游戏: 如果第\(i-1\)局游戏小$ R \(获胜,那么第 局游戏 ...

  3. SpringBoot:关于默认连接池Hikari的源码剖析

    1.起因 因为这两天在给公司的一个项目升级SpringBoot版本,遇到了一些坑,升级项目版本:SpringBoot1.5.x到SpringBoot2.0.x 今天早上双库操作遇到一个问题:jdbcU ...

  4. element ui input 输入时触发事件

    <el-form-item label="客户名" :label-width="labelWidth"> <el-input v-model= ...

  5. 图解LinkedHashMap原理

    1 前言 LinkedHashMap继承于HashMap,如果对HashMap原理还不清楚的同学,请先看上一篇:图解HashMap原理 2 LinkedHashMap使用与实现 先来一张LinkedH ...

  6. 刷题记录:[XNUCA2019Qualifier]EasyPHP

    目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...

  7. Mybatis(上)

    Mybatis 一.MyBatis 简介 1. MyBatis作用 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架. MyBatis 避免了几乎所有的 JDBC 代码和手 ...

  8. zookeeper安装运行(docker)

    拉取镜像docker pull zookeeper:latest 获取镜像基本信息docker inspect zookeeper mkdir /opt/zookeeper -p vim /opt/z ...

  9. curl抓取页面时遇到重定向的解决方法

    用php的curl抓取网页遇到了问题,为阐述方便,将代码简化如下: <?php function curlGet($url) { $ch = curl_init(); curl_setopt($ ...

  10. Cannot capture jmeter traffic in fiddler

    Cannot capture jmeter traffic in fiddler First, change Fiddler's port back to 8888 as it was origina ...