C接口与实现---之一

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了C接口与实现---之一脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

在erlang上工作久了之后发现自己对底层的知识越来越模糊了,所以决定最近重新学习一下c语言,在有一定基础的情况我觉得应该找一个更高效编程的书来读读(一直在想怎么写出更优雅的代码),翻翻自己的子书库就找到了《C接口与实现》在优雅编程方面这确实是一本很好的书,书中讲到了文学化的编程。这里是一个书中比较好的内容的摘抄和笔记。
变量命名对每个人程序员来说是很头痛的,一个变量命名的好坏也就基本上体现出这个人的编码素养了。“In general, longer, evocative names are used for global VARiables and routines, and short names, which may mirror common mathematical notation, are used for local variables.”

这里举了一个很好的理解在for循环中的局部变量i取了一个很冗长的名字,这样在代码的可读性上面就损失了很多。

变量在第一次使用之前声明, 代码的长度不要超过一页 (14寸笔记本一屏最合适了)。

尽量遵循代码就是最好的注释的原则,comments只出现在数据结构/算法的说明中。

软件的可靠性要比效率更重要(其实这一点我们很容易忽略掉,有时候我们希望软件运行的更快一味地去优化,如果此时引入了一个crash的话对客户是灾难性的,还有一点就是legacy broken比一个新的feature或者性能提高十倍更可怕)

书中对宏定义和条件编译的理解很有意思,还几个之前看过一段代码,里面对各个平台定义了不同的宏,’#ifdef #end看着确实难受, 使用交叉编译确实是一个很好的注意。

习题 1.1
<scan forward to a nonspace or EOF 6 >的目是找个一个单词的开始位置,linenum在这里++有以下几个目的:

单词不会跨行出现,在找一个单词的开始位置的时候发现一个‘n’就说明之后出现的单词是在下一行,linenum++这是一个很合理的过程。
如果你在7之后发现一个‘n’之后+1可能出现的结果就是输出这次返回的word的时候linenum +1了。
习题 1.2
这里主要是判断如果单词重复出现的话继续去取下一个单词,之后看下如果大于等于2则输出即可。

-END-

脚本宝典总结

以上是脚本宝典为你收集整理的C接口与实现---之一全部内容,希望文章能够帮你解决C接口与实现---之一所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。