zoukankan      html  css  js  c++  java
  • 代码整洁之道

    • 命名,多花些时间推敲命名, 有意义的命名非常重要。
      • 接口的命名,不使用“I”开头比较简洁,加上I以后是比较规范,但是比较繁琐以及废话。如果想区别接口和实现,不如在实现类中进行编码,比如添加后缀“Imp”,android以及jdk中的大多数接口都没有使用I。
      • 取名字带有简写要慎重, 比如“人事系统”的类, 前面都是“RSXT。。”,除了让快捷按钮找不到类以外,没有啥意义了,用包吧。
    • 函数,函数要短小,要职责明确,最好功能单一,参数最好不要超过两个,否则有顺序问题。
      • 合理的返回值可以使函数更加明了。
      • 封装Switch语句。
    • 注释,注释里面就有一堆问题要说了
      • 删除不必要的作者修改痕迹,这种东西应该留给源代码管理软件。
      • 删除你要准备注释掉,但是不想删的东西,他们丢不了,我担保。
      • 不要为了写注释而写注释。
      • 代码中令人费解和取巧的地方,甚至可以单独留作一个方法,强调注释,比如“开发取迭代次数”的例子 
    • 格式,代码都是从左往右,从上往下读的
      • 空行代表全新的概念
      • 成员变量注释要慎重,影响可读性
    • 对象和数据结构
      • 过程式代码(使用数据结构)便于在不改动既有数据结构的前提下添加新函数,面向对象代码便于在不改动既有函数的前提下添加新类,反过来讲,过程式代码难以添加新数据结构,因为必须修改所有函数。面向对象代码难以添加新函数,因为必须修改所有类
      • 火车失事类型代码 a.getb().getc().getd()……这种代码是否违反德墨忒尔律,取决于b,c,d是数据结构还是对象,如果是对象,那么内部结构应该保持隐藏,这样做自然违反。
    • 错误处理,雅致的使用错误处理的思路
      • 使用抛出异常来使程序逻辑和验证错误代码隔离。
      • 使用不可控异常,一旦一底层函数声明抛出异常, 那么上层函数逐级都要修改。。。。
      • 异常要说明,堆栈不足以说明一切
      • 打包调用API,减小对厂商API的依赖,将外部API打包调用在自己的类中,这样只有一处调用,自然好修改。
      • 别返回null,用特例模式,创建一个类或者配置一个对象,用来处理特例,空对象?
      • 别传递null值。断言验证null
  • 相关阅读:
    爬虫requests模块 1
    刷题记录:ctf473831530_2018_web_virink_web
    刷题记录:[RCTF 2019]Nextphp
    CTF XSS
    PHP 7 源码学习 序&第一、二章
    刷题记录:[安洵杯 2019]iamthinking
    刷题记录:[GWCTF 2019]枯燥的抽奖
    preg_match绕过总结
    刷题记录:[SWPU2019]easy_python
    刷题记录:[GWCTF 2019]我有一个数据库
  • 原文地址:https://www.cnblogs.com/driftsky/p/3758116.html
Copyright © 2011-2022 走看看