面试指南 笔记(二) 编程规范

来源:互联网 发布:601939大智慧赢数据 编辑:程序博客网 时间:2024/05/16 17:41

         这个名字文绉绉的,其实就是编程的风格,包括命名风格、排版什么的。

        印象中,二元运算符左右两边都应该空一格,一个函数代码行数不要超过X行,K&R风格、匈牙利命名法(JAVA的?)什么的,就是所谓的编程风格了,可能还有其它的,待我看程序设计实践再说了……

       第一题:谈谈你对编程规范的理解和认识?

       好题!如果问我的同学的话,多数人犯傻,我最多也就想到“代码的美观”——可读性,实际上,总结为:程序的可行性,可读性,可移植性和可测试性。还有一些相应的代码规范。总之就是,没找这方面的书看过的同学,应该不会想到可行性和可测试性。

       第二题:命名规则

       这个内容多多,尤其是让我们来想单词时,会有纠结、郁闷之感。大小写混搭或下画线分隔都好说,就是起名字不容易,num,count,total,有时候,脑子成浆糊了。

第三题:写出bool,int, float, 指针变量与“零值”比较的if语句

我不确定本书上的写法是否正确,可能是我记错了,在《程序员面试攻略》(老外写的一本薄书)中,指针变量的比较,也省略了== NULL,还说体现真正理解了什么什么的。不过,本书的写法确实是最直观的,符合编程规范。

       bool:  if (flag)

int:if (0 != flag)     //估计是怕写成 flag = 0 ,成赋值了,个人觉得,写多了的人遇到if里面的比较时,都会比较小心,或者,直接在编译器里加个,如果if 里面的判断只有= 没有 == 就警告下?

      指针: if (NULL  == flag )

      float:const float NORM = 0.0001;

if ( (flag >= NORM) && (flag <= NORM) )


       好程序员的程序绝对不会像我刚开始写的ACM代码这么密集,话说,我当年为了好玩,试图以非法手段缩短我的代码长度,把所有能去掉的空格,都去掉了,现在看来,怎一个乱字了得!大笑