算法作业,代码规范及《数学之美》读后感

一代码规范

节选自阿里云社区[https://developer.aliyun.com/article/193763]()
正文如下:
代码编写规范
一、排版
    1.包含头文件
        1.1 先系统头文件,后用户头文件
        1.2 只引用需要的头文件
    2.h和cpp文件
        2.1 头文件命名为*.h,内联文件命名为*.inl;C++文件命名为*.cpp
        2.2 文件名用大小写混合,或者小写混合。例如DiyMainview.cpp,infoview.cpp。不要用无意义的名称:例如XImage.cpp;SView.cpp;xlog.cpp;
二、注释
    1.文件头注释
        1.1 作者,文件名称,文件说明,生成日期(可选)
    2.函数注释
        2.1 关键函数必须写上注释,说明函数的用途。

        2.2 特别函数参数,需要说明参数的目的,由谁负责释放等等。

        2.3 除了特别情况,注释写在代码之前,不要放到代码行之后。

        2.4 对每个#else或#endif给出行末注释。

        2.5 关键代码注释,包括但不限于:赋值,函数调用,表达式,分支等等。

        2.6 善未实现完整的代码,或者需要进一步优化的代码,应加上 // TODO ...

        2.7 调试的代码,加上注释 // only for DEBUG

        2.8 需要引起关注的代码,加上注释 // NOTE ...

        2.9 对于较大的代码块结尾,如for,while,do等,可加上 // end for|while|do
三、命名方面
    1.1.原则

1.1 同一性:在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性。

1.2 标识符组成:标识符采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确,避免用拼音命名。

1.3 最小化长度 && 最大化信息量原则:在保持一个标识符意思明确的同时,应当尽量缩短其长度。

1.4 避免过于相似:不要出现仅靠大小写区分的相似的标识符,例如"i"与"I","function"与"Function"等等。

1.5 避免在不同级别的作用域中重名:程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但容易使人误解。

1.6 正确命名具有互斥意义的标识符:用正确的反义词组命名具有互斥意义的标识符,如:"nMinValue" 和 "nMaxValue","GetName()" 和"SetName()" ….

1.7 避免名字中出现数字编号:尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。

二读后感

我按照顺序读了《数学之美》的第一章,初读觉得枯燥无味,但静下心来品味时,发现其中妙处。我们都知道如今是信息时代,信息的重要性毋庸置疑。而本书又带领我们重新认识了信息,原来早在原始时期,当远古的人类发出第一声模糊不清的叫喊时,编码便已经开始,当另一个人类听到他的声音并理解了他的意思,这即是解码的完成。如今听着高大上的编码解码其本质上就是信息的交流。而我们如今身处的信息时代,正是时代发展,需求发展的果实,是必然的结果。这些知识平常不会去想到,能从这本书中收获到这些,令我十分开心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值