博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优雅的程序员
阅读量:4324 次
发布时间:2019-06-06

本文共 1528 字,大约阅读时间需要 5 分钟。

-------------------------------------------------------------------------------------------------------------

前后经历了两家公司,再加上自己在学校中写程序的经历,简单说一下好的程序风格!

1、注释

  该有的注释一定要有,那么那些地方该有注释呢?

  答:程序头

    【功能描述】【创建人】【创建日期】【备注】等等

    变量  

      //每一个变量一定要有注释  说明这个变量的意义  当然,像循环中的 i  k这种可以没有吧!

      //另外 多提一句,一个变量最好只有一个意义  不要有多个意义  eg: sign = MD5(sign);  这样就不好,sign 一会儿是加密前的 一会是加密后的 ,容易乱  可以这样写

      //sign = MD5(sign_src);

    函数说明

      //函数说明一定要有  最起码应该有 【函数功能】【入参】【出参】的说明  当然还可以有 【修改人】【日期】等

2、命名

  关于命名 涉及到 类、函数、变量、包(Java中)的命名;

   首先 第一大禁忌:不可以用汉语拼音,,,

   就个人而言,没见过用哪个上档次的程序 是用的拼音进行命名的;其次,实在觉得太low了,身为程序员,难免要看一些英文资料,所以用英文命名 不应该有什么难度,这不    还有有道呢么?

   第二,命名要有意义  

   名字和其所代表的含义要一致,例如:巷道 lane或者 tunnel 都可以(最好还是用tunnel  因为 lane一般指隧道);别随便来一个单词  

   第三 命名要统一

   什么意思呢?还拿巷道举例,同样是巷道,在这个函数里用 tunnel  而在另一个函数里 用lane这就不好,最好是同一起来,都用一个,增强程序的易读性;还有对于一个团    队来说也应该是同一的,不应该这个人用lane  另一个用tunnel;都统一起来。

   补充一小点

     对于函数的入参 可以在形参前面同一加上 in_   对于出参,可以统一加上 out_    

 3、格式

  这里说的格式指的是该对齐的地方要对齐,这一点很容易做到,因为一般的IDE都会自动对齐的,例如 VS里面 快捷键 Ctrl+k+d  自动对齐;

   实际上,只有在对齐的前提下,程序的结构才能显得清晰明了

4、异常处理

   尽量避免出现  程序没有处理,而交由语言或者平台本身去处理的异常情况发生;当程序崩溃时,哪怕不知道原因,最好的做法是捕获异常,给用户一个提示,然后退出!

  所以,最好每一句话都放在try{}catch(e){}  里面;尤其是 JS,因为一旦某个地方异常,没有处理  后面语句就不执行了 ;

5、尽量避免使用全局变量

   尽量避免使用全局变量,因为一个全局变量可能贯穿程序的始终,会大大的加强程序的耦合性,尤其是在多线程中;而且,如果再函数中使用了这个全局变量,那么这个函数脱离了这个程序便不能独立使用。

6、尽量避免重复代码

  对于重复代码,维护和修改的工作量都是很大的,而且容易出bug。

7、函数的独立性与完整性

  完成一个函数的编写之后,其功能要与设计时的功能一致,不要依赖于外部调用;如 一段登录代码,最终返回的结果就应该是登录成功 或者 登录失败,不要依靠外部代码判断是否登录成功。

 

其他:写代码之前,可以尝试着先写框架,然后去填充实体代码;写框架的时候要做好功能的分割;

转载于:https://www.cnblogs.com/tengpan-cn/p/4764673.html

你可能感兴趣的文章
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
C#检测驱动是否安装的问题
查看>>
web-4. 装饰页面的图像
查看>>
微信测试账户
查看>>
Android ListView上拉获取下一页
查看>>
算法练习题
查看>>
学习使用Django一 安装虚拟环境
查看>>
Hibernate视频学习笔记(8)Lazy策略
查看>>
CSS3 结构性伪类选择器(1)
查看>>
IOS 杂笔-14(被人遗忘的owner)
查看>>
自动测试用工具
查看>>
前端基础之BOM和DOM
查看>>
[T-ARA/筷子兄弟][Little Apple]
查看>>
编译Libgdiplus遇到的问题
查看>>
【NOIP 模拟赛】Evensgn 剪树枝 树形dp
查看>>
java学习笔记④MySql数据库--01/02 database table 数据的增删改
查看>>
两台电脑如何实现共享文件
查看>>
组合模式Composite
查看>>