编程箴言(Programing Adages)

7 篇文章 0 订阅
1 篇文章 0 订阅

1.通用

1.1注释、注释、注释。在程序中加大量的注释。这不仅让别的程序员知道你做了什么,也提醒你自己。

1.2遵守KISS准则(Keep It Simple, Stupid)。清晰、简介远比复杂和巧妙好得多。

1.3避免副作用。使++和--单处一行。

1.4使用前缀形式的++和--(++X, --X),而避免使用后缀形式(X++, X--)。这条准则对C编程没有什么意义,但是非常有助于转向C++编程。

1.5不要在条件判断中包含赋值语句。

1.6不要再别的语句中进行赋值。

1.7了解=和==的区别。在需要==的地方使用=是一个非常常见而又非常难以发现的错误。

1.8使空语句突出。

for( i = 0; i < n; ++i)  ;

不如:

for( i = 0; i < n; ++i)

     continue;

                                           

2.设计

2.1当在设计程序框架时,牢记“大众法则”。这个法则是指:不要让你的程序以奇怪的方式工作。

2.2尽可能保证用户接口的简介和一致性。

2.3给用户尽可能多的帮助(或说明)。

2.4让所有的错误信息都有明显的 "error "来标识。并且给出修正错误的方法。

 

3.声明

3.1让每一个变量的声明单独占一行,并且对其用途给出注释。

3.2让变量的名字详细易于理解,但是不要太长而不易书写。通常两三个单词就足够了。

3.3不要使用默认(隐式)声明。比如:对于返回int类型函数,最好加上int关键字,而不要使用默认规则省略。

3.4函数所有的参数应当声明并加上注释。最好不要省略参数名。

3.5不要使用奇怪的main函数形式,应该始终使用常用形式:int main(void)或者int main(int argc, char *argv[ ])

 

4.switch语句

4.1switch语句中应该始终包含default子句。即使它什么也不做,也应该写上。

4.2每个case子句都应当用break结尾,如果是功能决定不使用break则要加上注释说明(/* Fall through*/)。

 

5.预处理

5.1在#define定义的所有的常量表达式的左右都加上括号()。

5.2如果可能尽量使用const来声明常量,而不要使用#define。

5.3对于带参数的宏定义,参数都要加上括号()。

5.4对于较复杂的宏定义,使用{}。比如:#define DIE(msg)    { printf(msg);  exit(8);}

5.5在使用#ifdef / #endif 来标识条件编译结构时,让#define和#undef放在尽可能靠近代码的顶端,并且对他们加上注释。

 

6.编码风格

6.1一个代码块({...})如果过长,则应该把它分割为多个较简洁过程。

6.2当一行代码过长超过屏幕宽度时,应该把它分为多行显示。

 

7.编译

7.1编写Makefile以便让其他人知道如果编译你的代码。

7.2打开编译选项,让编译器报出错误和警告。

 

NOTE:

就在你认为已经了解了所有能让你的代码崩溃的C语言的特性时,请三思。总有未发现的东西会让你跌破眼镜。

 

 

原文见:《Practical C Programing  3rd Edition 》Steve Oualline第23章

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
Rockwell PackML编程规范是一种针对自动化系统编程的标准,以提高生产效率和系统可靠性。PackML,即Packaging Machine Language,是一种通用的、模块化的编程标准,用于控制机械、包装和生产行业的自动化设备。 Rockwell PackML编程规范的核心原则是将机械过程分解成不同的模块,每个模块都有特定的功能和状态,并通过定义好的状态机进行控制。这种模块化的编程方法能够提高代码的可读性和可维护性,减少开发人员在整个系统中进行重复编码的工作。 另外,Power Programming是指使用高级语言和复杂的算法进行编程,以获得更好的性能和效率。在Rockwell PackML编程中,Power Programming意味着使用现代化的编程技术和工具,提高代码质量和系统性能。 Rockwell PackML编程规范及Power Programming的好处包括: 1. 提高生产效率:通过模块化和可重用的代码,提高系统的可扩展性和灵活性,使生产过程更高效。 2. 提高系统可靠性:使用标准化的状态机和错误处理机制,减少故障点和系统崩溃的可能性。 3. 降低开发成本:通过重用现有的模块和代码,减少开发时间和资源成本。 4. 提高代码质量:使用高级语言和现代化的开发工具,减少错误和bug的出现,并降低维护工作量。 总的来说,Rockwell PackML编程规范和Power Programming为工业自动化系统的开发、维护和升级提供了一种标准化的方法,能够提高生产效率、降低成本,并增强系统的可靠性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值