哪些网站有好的营销案例,百度站长工具对seo的帮助,有没有免费的商城小程序,广州注册公司网上申请入口转载时请注明出处和作者联系方式 文章出处#xff1a;http://www.limodev.cn/blog 作者联系方式#xff1a;李先静 xianjimli at hotmail dot com
需求简述
用C语言编写一个双向链表。如果你有一定的C语言编程经验#xff0c;这自然是小菜一碟。有的读者可能连一个…
转载时请注明出处和作者联系方式 文章出处http://www.limodev.cn/blog 作者联系方式李先静 xianjimli at hotmail dot com
需求简述
用C语言编写一个双向链表。如果你有一定的C语言编程经验这自然是小菜一碟。有的读者可能连一个小程序都没有写过那也不用害怕可以参考任何一本《数据结构》和C语言的书籍。先弄明白基本概念把书上的代码看明白再把代码抄到电脑里保证编译过去调试它到正常运行。反复这个过程直到你能独立完成它为止。写第一行代码是很痛苦的我培训过好几个同事他们不是计算机系毕业的开始在电脑前坐一整天一行代码都敲不出来我最早写程序时的情况也好不了多少不过没有关系迈出这一步就好了。 花1-3天时间完成这个任务后再继续往下阅读。 转载时请注明出处和作者联系方式 文章出处http://www.limodev.cn/blog 作者联系方式李先静 xianjimli at hotmail dot com
当你读到这里的时候相信你已经独立写出了一个双向链表。恭喜你迈出这一步可是值得庆祝的现在你已经走在通往程序员的光明大道上了。不过你还是个业余程序员那当然了你才写出第一个程序呢什么时候才能成为一个专业程序员呢三年还是五年工作经验其实不用的你马上就可以了我没有骗你因为专业程序员与业余程序员之分主要在于一种态度如果缺乏这种态度拥有十年工作经验也还是业余的。
什么态度专业态度也就是星爷常说的专业精神。专业态度有多种表现形式以后我们会一一介绍的。这里先介绍一下有关形象的态度专业的程序员是很注重自己的形象的当然程序员的形象不是表现在衣着和言谈上而是表现在代码风格上代码就是程序员的社交工具代码风格可是攸关形象的大事。
有人说过傻瓜都可以写出机器能读懂的代码但只有专业程序员才能写出人能读懂的代码。作为专业程序员每当写下一行代码时要记得程序首先是给人读的其次才是给机器读的。你要从一个业余程序员转向专业程序员就要先从代码风格开始并从此养成一种严谨的工作态度生活上的不拘小节可不能带到编程中来。
代码风格有很多种Windows 和Linux都有自己主流的代码风格每个团队每个公司也可能有自己的代码风格争论哪种风格好那种风格坏没有什么意义。只要有助于其他程序员理解的代码风格都是可以接受的因为遵循特定代码风格的目的就是为了便于交流。
这里介绍一下作者本人喜欢的代码风格这种代码风格也在作者所在团队中使用。这里的命名风格与GTK代码相近排版风格Linux内核代码相近。
命名要展示对象的功能。
文件名单词小写多个单词用下划线分隔。 如: dlist.c (这里d代表double是通用的缩写方法)
注意:文件名一定要能传达文件的内容信息别人一看到文件名就是知道文件中放的是什么内容。只把一个类或者一类的代码放在一起是好的习惯这样就很容易给文件取一个直观的名字。业余爱好者常常把很多没关系的代码糅到一个文件中结果造成代码杂乱无章也很难给它取一个恰当的名字。
函数名单词小写多个单词用下划线分隔。 如find_node
注意同样一个函数只完成单一功能不要用代码的长度来衡量是不是要把一段代码独立成一个函数。即使只有几行代码只要它完成的是一项独立的功能都应该提为一个单独的函数而函数名可以直观的反应出它的功能。如果在给函数起名时遇到了困难通常是函数设计不合理应该仔细思考一下。
结构/枚举/联合名首字母大写多个单词连写。 如struct _DListNode;
宏名单词大写多个单词下划线分隔 如#define MAX_PATH 260
变量名单词小写多个单词下划线分隔。 如DListNode* node NULL;
面向对象的命名方式:
1.以对象为中心采用主语(对象)谓语(动作)取代传统的谓语(动作)宾语(目标)。 如dlist_append
2.第一个参数为对象并用thiz命名。 如dlist_append(DList* thiz, void* value);
3.对象有自己的生命周期都有create和destroy函数。
排版布局要美观大方。
合理使用空行
1.函数体之间用空行分隔。
2.结构/联合/枚举声明空行分隔。
3.不同功能的代码块之间用空行分隔。
4.类似的代码放在一起和其它部分用空行分隔。比如宏定义类型定义函数声明和全局变量放在一起。
5.使用空行时一行就够了不要使用连续多个空行那样让人感觉空荡荡。
合理使用空格
1.等号两边用空格。如 如int a 100;
2.参数之间用空格。如 如test(int a, int b, int c)
3.语句末的分号与前面内容不要加空格。 如test(a, b, c);
4.其它有助让代码更美观的地方。
合理使用括号
1.用括号分隔子表达式不要只靠默认优先级来判断。 如((a b) || (c d))
2.用括号分隔if/while/for等语句的代码块那怕代码只有一行。 如:
if(a b)
{return c;
}合理的缩进方式
每一级都正常缩进用tab缩进取代空格缩进(Linuxkernel也遵循此规则)。用空格缩进的目的是防止代码因编辑器的tab宽度不同而变乱这个担心现在是多余的了代码编辑器都支持tab宽度设置了。如果缩进的居次太多比如超过三层可能是代码设计上出了问题。
如:
if(a b)
{for(i 0; i 100; i){…}
}遵从团队的习惯。这个是最重要的一个团队就要像一个团队的样子不管你的水平有多高遵循团队的规则是一个程序员的基本素养。如果团队的规则确实不好大家应该一起完善它。
做到这一点你已经走近专业程序员了重新做一遍练习吧。随着后面的学习你就可以真正走进专业程序员这个行列了。