本月博客排行
-
第1名
龙儿筝 -
第2名
johnsmith9th -
第3名
wy_19921005 - zysnba
- sgqt
- lemonhandsome
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- xyuma
- sichunli_030
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- johnsmith9th
- lzyfn123
- zhanjia
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
- jveqi
- java-007
- sunj
最新文章列表
重构代码之3-注释
写这篇博客的时候就在想,如果写注释会不会影响代码的质量呢?会不会影响自己对代码的仔细斟酌不知道,但是可以肯定的一点是,就算你写了注释肯定不会为你糟糕的代码加分的。所以就我个人而言我是不太喜欢写注释的。
凡事无绝对,有些注释是必须存在在那里的,比如法律信息;某个抽象方法返回值的解释;解释接下来的意图,让读者了解你想要干什么;为某个返回值阐述用途(看过前几篇博客的同学可能会说,不是要让参数和返回值 ...
重构代码之2-函数
函数(Java中称之为方法,由于我是一名Java程序员,所以下文就都写为函数了)无疑是程序员理解程序逻辑的第一手资料,同样毫无疑问让函数变得清晰,规整就成为了写好代码的关键点。如何写出一个个牛逼的函数呢?我觉得是这样的:
1 短小精悍,只专注于一件事情。
我真的不知道我该如何用各种公式去证明这个理论的成立,但是个人觉得if,else,while这样的语句一个函数中就应该出现一次,保持函数 ...
重构代码之1-命名
对于一个像我这样严肃的程序员来讲,个人觉得起变量名就想给自己的孩子起名一样重要,如果你有N胞胎长得都像String一样,你如何区分他们,显然用1,2,3,4...或者a,b,c,d的方式是根本无法做到好的区分的,那我们应该怎么做? 这就是我想说的为程序变量起有意义的名字很重要。
1. 使用可以见名知意的名称作为变量名称:
举个例子: 如果你的变量名还需要注释,何不把变量名起的见名知其意呢?
...
Clean Code 读后感(二)
今天来到Clean Code 的第二章。
2.1 介绍:
到处都需要命名
2.2 名副其实:
取个好名字需要时间,但能让维护更省心;好的名称能明确体现上下文
2.3 避免误导:
不要使用与本意相悖的名称,要保持名称之间的区分度(注意不要单独使用l和O)
联想到Captcha 中最好不要出现的字符更多,比如
Z-2, O-0, l-1, I-l ...
Clean Code 读后感(一)
这几天开始看Robert C.Martin(鲍勃大叔)所著的Clean Code,看得很慢,看了好几天才看了前2章。
慢的原因有几个方面的原因:
1、才疏学浅,需要好好咀嚼才能理解大牛们几十年来总结的经验和准则
2、需要结合自身以前的一些编码习惯好好的反思一下,希望可以去伪存真
3、阅读过程中有些小节有疑惑,在未继续阅读本书获得解答前,需要时间进行思考
4、时间不够用,每天能静 ...
Clean Code (1): Meaningful Method Signature
Remove useless method
Remove method never referenced
If method or API is not used any more, it is better to remove them rather than keep them.
Version control/management tools should/will keep ...
switch(clean code)
看了《clean code》 关于 switch ,很有感触,给大家分享分享
首先 有这样的例子:
public Money calculatePay(Employee e) throws InvalidEmployeeType {
switch (e.type) { ...