代码整洁之道对于程序的重构及可读性至关重要。开始整洁之道吧!!!

一、抽离try catch 模块

    public void delete(Page page){
try {
deletePageAndAllReference(page);
}catch(Exception e){
logError(e);
}
} private void deletePageAndAllReference(){
deletePage();
registry.deleteRefence(page.name);
configKeys.deleteKey(page.name.makeKey());
} private void logError(Exception e){
logger.log(e.getMessage());
}

将try和catch代码的主体部分抽离出来。delete只与错误处理有关,容易理解。deletePageAndAllReference只与完全删除一个page有关。

二、注释

  好的注释尽量利用方法名称来传递信息。注释提供了有关实现的有用信息,而且还提供了某个决定后面的意图。用于警告会出现某种后果的注释也是有用的

    //TODO-MdM these are not need
//we expected this to go away when we do the checkout model
VersionInfo makeVersion() throws Exception{
return null;
}

  TODO: + 说明:在标识处有功能代码待编写,待实现的功能在说明中会简略说明。

  对于代码中多余的注释应该删除,可能读注释的时间都比读代码花费的时间都长。能用函数或变量时就别用注释。

三、格式

  每个项目开始之前都应该提前定义好团队规则,包括在什么地方放置括号、缩进几个字符、如何命名类、变量和方法等。

四、对象和数据结构

  过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数,面向对象代码便于在不改动既有函数的前提下添加新类。

    public class Square{
public Point topLeft;
public double side;
} public class Rectabgle{
public Point topLeft;
public double height;
public double width;
} public class Circle{
public Point center;
public double radius;
} public class Geometry{
public final double PI=3.141592653589793; public double area(Object shape){
if (shape instanceof Square){
Square s= (Square) shape;
return s.side*s.side;
}
...
}
}

 

clean code(一)的更多相关文章

  1. Writing Clean Code 读后感

    最近花了一些时间看了这本书,书名是 <Writing Clean Code ── Microsoft Techniques for Developing Bug-free C Programs& ...

  2. 说说怎么写clean code

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

  3. 小课堂week13 Clean Code Part2

    Clean Code Part2 对象与数据结构 首先让我们进行一个严肃的思考,对象与数据结构的区别在哪里? 如下两段代码分别用数据结构和对象的方法来描述了一个Point. public class ...

  4. 小课堂Week12 Clean Code Part1

    小课堂Week12 Clean Code Part1 今天的主题是函数,让我们看一个函数,找一找其中的"不整洁". 我们也根据这段代码,讨论下对于整洁代码的两个重要原则. publ ...

  5. “Clean Code” 读书笔记序

    最近开始研读 Robert C.Martin 的 “Clean Code”,为了巩固学习,会把每一章的笔记整理到博客中.而这篇博文作为一个索引和总结,会陆续加入各章的笔记链接,以及全部读完后的心得体会 ...

  6. Clean Code–Chapter 7 Error Handling

    Error handling is important, but if it obscures logic, it's wrong. Use Exceptions Rather Than Return ...

  7. Clean Code – Chapter 4: Comments

    “Don’t comment bad code—rewrite it.”——Brian W.Kernighan and P.J.Plaugher The proper use of comments ...

  8. Clean Code – Chapter 3: Functions

    Small Blocks and Indenting The blocks within if statements, else statements, while statements, and s ...

  9. Writing clean code is what you must do in order to call yourself a professional.

    Clean Code  A Handbook of Agile Software Craftsmanship

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

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

随机推荐

  1. java学习笔记 --- 多线程(多线程的控制)

      1.线程休眠   public static void sleep(long millis) public class ThreadSleep extends Thread { @Override ...

  2. HDU 2307 贪心之活动安排问题

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2037 今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)  ...

  3. 用 S5PV210 学习 Linux (一) 刷机(一)

    简介: 习惯了 用 keil 或者 IAR  一键下载 (烧写) 代码,S5PV210 貌似就不能这么简单用 仿真器的 方式 下载代码了,因此 学习 S5PV210 的第一步就是 学习怎么下载代码,下 ...

  4. Gradle Goodness: Run a Build Script With a Different Name

    Normally Gradle looks for a build script file with the name build.gradle in the current directory to ...

  5. Unity Loding白屏

    卡loading很多时候是由于网络原因造成的,你可以尝试断网,进入离线模式.如果使用VPN也可以先关闭使用,部分Vpn的配置也会导致该问题出现.最后可以查看一下防火墙的设置.

  6. vue项目在ie浏览器和360浏览器的兼容模式下不显示,出现promise未定义问题

    出现“promise未定义”问题,因为对es6不兼容 在项目中安装 babel-polyfill 依赖包 ① npm install babel-polyfill --save-dev ② 在main ...

  7. II、Python HelloWorld

    大家都不是小孩子了,直接上 IDE 现在有个大问题!!没有解析器啊 这样 解析器地址比他多个 e OJBK

  8. Druid手动设置参数错误

    在做Druid操作的时候,出现了小错误:但是总归是找到了,并且推一及三,以后学者高效解决问题: 严重: create connection errorjava.sql.SQLException: Ac ...

  9. react路由传参

    方法1 <刷新页面参数会消失> <Link className="item" to={{pathname:'/order',params:{index :&quo ...

  10. django 登录注册注销

    一.设计数据模型 1.数据库模型设计 作为一个用户登录和注册项目,需要保存的都是各种用户的相关信息.很显然,我们至少需要一张用户表User,在用户表里需要保存下面的信息: 用户名 密码 邮箱地址 性别 ...