zoukankan      html  css  js  c++  java
  • 编写“可读”代码的艺术

    写代码的两层含义:

    一层是功能性,代码编译得到类文件,交给机器去运行,从而实现各种功能、性能、扩展性等特性;

    一层是可读性,这是给人看的,是软件可维护性的重要部分;

    代码是给人看的,类才是给电脑看的

    1、命名

    tmp仅作为临时存储,只要有业务含义,就不应该使用tmp命名;

    循环里的index,不单单使用i,m,n,可以加上业务前缀,尤其是嵌套循环的时候;

    命名数量词变量的时候带上单位更清楚;

    变量的类型可以放在名字里;

    名字不能过长或过短,作用域小的变量命名可以短一些;

    缩略词一定是团队统一的,约定俗成的;

    整个团队,整个系统使用统一的规范明确大小写、中横线、下横线。

    2、格式化

    团队内必须保持统一的布局风格;

    使用相同的占位符(固定数量的空格)来规范代码的缩进;

    将过长的方法进行分组,按照逻辑形成代码段,使用空行或者注释进行分割;

    3、注释

    不要解释代码本身的事实,更多的记录思想和原因;

    好代码>坏代码+好注释;

    为代码的瑕疵写详细的注释,因为瑕疵更不容易懂;

    为系统、模块、组件增加全局性注释帮助新人迅速开始;

    注释包括:做什么、怎么做、为什么;

    不管你心里想什么,先写下来,读一读,然后跟着代码的修改不断改进注释;

    注释要简洁明确,声明代码的高层次意图,而不是明显的细节;

    4、简化循环和逻辑

    与其尽量追求最小化代码行数,不如追求最小化人们理解它所需的时间。尤其是在JAVA中的链式写法或者同一行代码调用多个方法都不推荐,应该拆分成多行代码,每行调用一个方法给临时变量赋值,然后下一行再对这个临时变量进行下一个方法继续运算;

    尽量缩小变量的作用域,谨慎的使用全局变量;

    5、重新组织代码

    工程学就是把大问题拆分成小问题,然后再将解决方案进行组合;

    积极的发现并抽取独立的、不相关的逻辑形成子方法,一段代码只做一件事

    总结通用逻辑和工具代码,将通用代码与项目代码分离;

    按需重构结构、重构接口,简化参数;

    让代码更加符合思维顺序;

    能够把想法给第三个人说明白再写代码;

    不要假想需求,不要过度设计,不要超前设计

    删除无用的、过时的、无效的注释和代码;

    军队通过这种日常最基本的小事来培养军人的纪律性,而纪律性是任何大规模组织协同作战最重要的因素。

    养成习惯,培养自己的代码洁癖。

    参考:灰胡子老爷爷

  • 相关阅读:
    <原创>engine中地块的自动编号函数
    <原创>获取窗口上RadioButton的Tag值
    <原创>SQLServer一个高效的存储过程
    ArcEngine中放大、缩小、移动等功能实现的方法
    sublime No packages available for installation
    特殊字符,英文,中文排序
    关于 js中replace 特殊符号 ‘.’ 的问题
    12.3日电话面试
    electron 打包后node_modules 体积过于庞大
    git 本地同步分支数,删除远程已经删除掉的多余分支
  • 原文地址:https://www.cnblogs.com/wangyingshuo/p/15507360.html
Copyright © 2011-2022 走看看