zoukankan      html  css  js  c++  java
  • clean code(一)

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

    一、抽离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;
                }
                ...
            }
        }

     

  • 相关阅读:
    微信小程序中的iPhone X适配问题
    微信小程序例子-保存图片到手机相册
    微信小程序客服消息使用指南
    移动APP 微信支付完整过程(wxPay 方案一)
    promise原理及使用方法
    apicloud UISearchBar 使用方法
    数据库死锁及解决方法
    js replace使用及正则表达式使用
    POI Workbook接口和HSSFWorkbook对象和XSSFWorkbook对象操作相应excel版本
    HSSFWorkbook 模版使用
  • 原文地址:https://www.cnblogs.com/award/p/10012817.html
Copyright © 2011-2022 走看看