zoukankan      html  css  js  c++  java
  • 编码如风,华丽如诗

    做一个有仪式感的程序猿,编码如风,华丽如诗。

    • 优雅的命名
    • 清晰的结构
    • 不十分差劲的算法
    • 简单易懂的注释

    优雅的命名

    名不正,则言不顺,言不顺,则事不成  -论语

    命名很重要,命名应该本着不怕长就怕不清楚的原则,尽量把一个类、方法、变量的含义交代清楚,比如:

    $citycode
    $newpostrule
    $post_addtime

    命名长,但是很清楚。(建议学好英语,不然像我一样编码的同时要打开一个翻译软件。)

    接口的命名

    接口的命名一般都是前缀动词形容词,比如:

    • addcart.php(动词)
    • newuser.php(形容词)

    接口往往用来分装一个或一组行为,实现接口的类意味着它具有了一个或一组行为的能力,所有常用形容词。当实在找不到一个恰当的形容词时,名词也可以。

    类的命名

    php中类命名遵循以下规则:
    a. 以大写字母开头;
    b. 多个单词组成的变量名,单词之间不用间隔,各个单词首字母大写。
    例子:class MyClass 或class DbOracle等。

    尽量使用名词,不排除个别情况下把一个行为封装为类时使用动词。

    方法的命名

    使用动词或动词性短语。

    包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如有复数含义,类名可以使用复数形式。
    杜绝完全不规范的缩写,避免望文不知义。

    如果使用到了设计模式,建议在类名中体现出具体模式。

    其它的字段啊、属性啊、事件啊出现命名问题的比较少,不再讨论。比如有的人喜欢字段用下划线开头,有的人喜欢用英文加_(add_)开头,都无关紧要,求同存异,只要使用的词语恰当,并不会带来太多麻烦。

    此外需强调一点就是少用拼音多用英文,少用缩写多用全称,尽量不用拼音缩写,甚至是方言拼音缩写,还有英语加拼音,甚至是英语加拼音缩写......。本人就遇到过一个变量名叫 yytj ,最后一顿分析 发现是营业统计的开头字母拼音

    在这里还要提醒,毕竟我们在国内编码,代码还没有那么高端,尽力不要用一些高级词汇,例如我写的一些变了 Increase 最后我还要找翻译软件。

    清晰的结构


    书写规则是指在编写php程序时,代码书写的规则,包括缩进、结构控制等方面规范:

    1 代码缩进
    在书写代码的时候,必须注意代码的缩进规则,我们规定代码缩进规则如下:
    a. 使用4个空格作为缩进,而不使用tab缩进(对于ultraedit,可以进行预先设置)
    例子:
    for ( $i=0;$i<$count;$i++ )
    {
    echo “test”;
    }

    2 大括号{ }书写规则
    在程序中进行结构控制代码编写,如if、for、while、switch等结构,大括号传统的有两种书写习惯,分别如下:
    a.{直接跟在控制语句之后,不换行,如
    for ($i=0;$i<$count;$i++) {
    echo “test”;
    }
    b.{在控制语句下一行,如
    for($i=0;$i<$count;$i++)
    {
    echo “test”;
    }
    其中,a是PEAR建议的方式,但是从实际书写中来讲,这并不影响程序的规范和影响用phpdoc实现文档,所以可以根据个人习惯来采用上面的两种方式,但是要求在同一个程序中,只使用其中一种,以免造成阅读的不方便。

    3 小括号( )和函数、关键词等
    小括号、关键词和函数遵循以下规则:
    a. 不要把小括号和关键词紧贴在一起,要用一个空格间隔;如if ( $a<$b );
    b. 小括号和函数名间没有空格;如$test = date(“ymdhis”);
    c. 除非必要,不要在Return返回语句中使用小括号。 如Return $a;

    4 =符号书写
    在程序中=符号的书写遵循以下规则:
    a. 在=符号的两侧,均需留出一个空格;如$a = $b 、if ($a = = $b)等;
    b. 在一个申明块,或者实现同样功能的一个块中,要求=号尽量上下对其,左边可以为了保持对齐使用多个空格,而右边要求空一个空格;如下例:
    $testa     = $aaa;
    $testaa   = $bbb;
    $testaaa = $ccc;

    5 if else swith for while等书写
    对于控制结构的书写遵循以下规则:
    a. 在if条件判断中,如果用到常量判断条件,将常量放在等号或不等号的左边,例如:
    if ( 6 == $errorNum ),因为如果你在等式中漏了一个等号,语法检查器会为你报错,可以很快找到错误位置,这样的写法要多注意;
    b. switch结构中必须要有default块;
    c. 在for和wiile的循环使用中,要警惕continue、break的使用,避免产生类似goto的问题;

    算法

    这里就涉及到了mysql的优化了,也不一一举例了。

    该分页的地方分页。前端涉及到懒加载,瀑布流等。

    简单易懂的注释

    程序注释
    每个程序均必须提供必要的注释,书写注释要求规范,参照PEAR提供的注释要求,为今后利用phpdoc生成php文档做准备。程序注释的原则如下:
    a. 注释中除了文件头的注释块外,其他地方都不使用//注释,而使用/* */的注释;
    b. 注释内容必须写在被注释对象的前面,不写在一行或者后面;

     程序头注释块
    每个程序头部必须有统一的注释块,规则如下:
    a. 必须包含本程序的描述;
    b. 必须包含作者;
    c. 必须包含书写日期;
    d. 必须包含版本信息;
    e. 必须包含项目名称;
    f. 必须包含文件的名称;
    g. 重要的使用说明,如类的调用方法、注意事项等;

    代码之外

    代码规范编写只能算是锦上添花,更加高级的算法和逻辑思维才是一个合格程序猿的审核标准,就像咱哈尔滨大盒饭,雀黑,齁咸,希螚,胶黏,一天一个味没有一点变化规则。但离家多年想念的还是那12块钱三荤两素。

    作文以记之

    辛丑年辛丑月下,疫之猖獗,尤为甚之。亮隔之粤b。不可归乡,归乡则隔一十四日。一周之末,摸鱼无趣,遂重修代码规范,属予作文以记之。予今之胜状,驼峰命名,强制注释,迫之芸芸码士,俱迂腐巨细之论,此前人之述备矣。乃吾辈之悲。

  • 相关阅读:
    《梦断代码》读书计划
    四则运算3
    《梦断代码》读后感Ⅱ
    第二次结对开发
    首次结对开发
    四则运算2的测试
    四则运算2的任务完成时间表
    四则运算2
    《梦断代码》观后感1
    四则运算2的心路历程
  • 原文地址:https://www.cnblogs.com/yumingzhao/p/14314540.html
Copyright © 2011-2022 走看看