zoukankan      html  css  js  c++  java
  • 代码的编写习惯

    这一段时间有在解读朋友github / coding上的代码,期间发现自己很多地方不懂,又跑去读了部分Python的库里的源码。读了这么一次,才知道“阅读别人留下的代码”的真正感受。这个是随时更新的,想到什么要加上去的随时加。

    1.   全局变量慎用

    2.   文件内命名需谨慎...别来个全局变量aaa这样的

    3.   括号里的式子比较长的,最好括号前后都留个空格

    4.   缩进!不管是什么语言,一定要缩进控制好。如果可以,可以写个脚本将 ‘ ’ 转换成四个空格。感受最深的的就是在我用的Ubuntu上gedit里tab默认为8,每次都要调。有时懒得调或者没留意会觉得挺蛋疼的

    5.   for student in students 这样写循环的很好懂啊

    6.   要对数据进行一个特定处理的函数,最好还是在前一行用注释说明你要干嘛

    7、 在一个类里边,如果没什么特殊原因,强烈建议如果用途相同,变量名在不同方法间最好统一

    8.   文件名别太随便。文件开头用跨行注释说明这个文件是干嘛的(或能干嘛),说明的时候最好附上一个综合但简单的例子

    9.   像python文档,库文件的话开头有__all__ = [“urlopen”, “URLopener”]列举所有的类 / 方法,并且能对主要(或常用)的类 / 函数的概念进行说明(最好能给个例子,像sgml我开始真看不懂,看了一个start_td就感觉容易了解了

    10.   像urllib2.py里挺逗的一个地方就是,告诉你不打算深入学习的用xxx这些函数就好了,其他就别管了

    11. 不用死守PEP8(其实我也没认真看过),但一定要写得易懂。比如( num – tmp1*100 – tmp2*10 ),如果乘号两边还分开就真的容易眼花了。就觉得能用名字说明的别用太多注释。而且命名的话,个人还是喜欢python里用下划线分开各单词这样的,驼峰法倒略反人类,名字一长了看着眼花

    12. 用户输入的地方必过滤/转换,输入的数据处理前必先检验长度是否合理

    13. 数据处理时觉得可能出错的地方要考虑周全...输入数据的人不一定是正常人...出错的返回给运维的人的信息要明确,让他明白是哪里出错...

    14. 关键的地方,别嫌麻烦,try throw catch

    15. 要写一个代码超过两百行还不是html的文件时,要规划好代码块,而且要独立一个根据参数输出错误信息用的代码块。这个代码块在测试之初就要写好写完整错误信息的情况

    16. 能封装(成文件)的直接封装吧,别把一大堆处理数据的代码直接嵌入到主函数里面

    17. 大点的工程,记得交代各文件夹的作用(如果能用命名就足以说明的就最好)

    18. 对阅读一大堆代码的人来说,如果能给出目录树状图(请参考Linux上的进程树图),并且在后面附上它们的相应内容、作用说明,我相信他们会很感激你的

    19. 代码重用很重要,包括对文件而言。我读一个50M的文件夹的代码时,发现里面用框架以后,还把要引用的文件到处扔!需要的地方都给扔上一个!我看的时候好崩溃啊好吗

    20. 如果你对将来要管理你代码的人的能力没一定的信心的话,请别秀奇葩算法...给条活路别人吧...

    21. 团队里的人一起工作的话,要么功能划分和文件管理方面做得很好,不然最好还是要求一下各人编写代码的风格接近一致(或者牛逼的直接一个做了大部分基本工作,顶多给多点钱,但起码其他阅读的人不至于那么崩溃

  • 相关阅读:
    MySQL server version for the right syntax to use near ‘USING BTREE
    随笔
    [python]自问自答:python -m参数?
    [linux]查看linux下端口占用
    [linux]scp指令
    [编程题目]泥塑课
    How can I learn to program?
    [python]在场景中理解装饰器
    [前端]分享一个Bootstrap可视化布局的网站
    [python]python元类
  • 原文地址:https://www.cnblogs.com/awalker/p/4859880.html
Copyright © 2011-2022 走看看