C学习体会
2015-11-30 20:35
295 查看
最近看到一些有关C语言的帖子,主要是结合编程实际工作的一些心得,看后觉得非常高见,结合自己的3年大学学习和一个月的汇文培训,写上了自己的一些学习经验到此处与各位分享:
1.简单实用才是王道
尽量少使用指针,如果参数需要传递尽可能用引用吧。尽量让自己的代码像码转头一样错落有致,整齐划一。如果可以的话最好没有技术含量,是个人都能看懂的代码才是好代码。合格的程序员要对自己的代码负责,要对看你代码的人负责,要对用你代码的人负责,但最终也是最重要的是要对使用你软件的客户的负责,要给你的客户一个最好的体验,没有客户,所有的一切都是空谈。经常看到有人钻研一些类似i++++ 、++i++、 i>0||i<33&&--i之类的题目,其实很莫名其妙,实际开发或者应用尽量避免用这些,绕的看明白之后都牛年马月了。学习是为了更好的应用解决问题,而不是制造更多的问题,写一些只有他自己才看的明白深奥到极点的代码却自以为很厉害的人,相信没有一个老板会请吧。
2. 好的编程习惯是一种规范
模块划分要清晰,各个模块之间的关系一定要弱,这一点越大的系统越重要。动手之前确定好数据结构,类的设计,最好有特定的模板可以参考。文档一定要有,没有一个好的设计文档很难做出来一个好项目,而对于后期的开发、重构、维护如果没有开发文档的话那将是一场灾难。我学习的时候无论遇到什么题目,都会在草稿纸上PDL或者流程图,再根据这个写代码,写注释,你自己看得懂不代表别人也看的懂。做论文就更需要文档了,可以根据软件工程关于结构化程序设计的一些理论安排计划和实施,一看到题目就直接用C写代码或者上机调试,往往越改越多,可能又重头再来。每实现一个模块之后都备份,免得造成不必要的损失。
3. 编码是一种团体艺术而不是个性艺术
我个人觉得做软件这个行业,沟通很重要。如果是在现有的项目上添加新的功能,先看看有没有可以照搬的东西。也许你会排斥copy,这体现不出你的才华,也许你会觉得别人的代码不够完美,但是那经过各种测试并不断修正的代码至少比你这没经过任何测试的代码可靠的多,除非原有的代码已经展现出固有的缺陷。无论是毕业论文还是开发项目,都有可能是3个以上的人共同完成的,如果没有统一的风格,统一的规范,那么3个人就有3个人的风格,万一有人离职,同事看的很晕,影响进度。
4. 稳定比效率更重要。
如果不讨厌的话使用const会让你的代码更安全。对于函数的指针参数在第一行做一下判空操作吧,虽然看起来好像挺烦人的。尽可能让继承不要超过三层。继承是把双刃剑,好的继承可以省很多代码,不过用的不好的话也能把人绕晕。尤其某个项目人较多的情况下代码的简单性要优于代码的重用性。
1.简单实用才是王道
尽量少使用指针,如果参数需要传递尽可能用引用吧。尽量让自己的代码像码转头一样错落有致,整齐划一。如果可以的话最好没有技术含量,是个人都能看懂的代码才是好代码。合格的程序员要对自己的代码负责,要对看你代码的人负责,要对用你代码的人负责,但最终也是最重要的是要对使用你软件的客户的负责,要给你的客户一个最好的体验,没有客户,所有的一切都是空谈。经常看到有人钻研一些类似i++++ 、++i++、 i>0||i<33&&--i之类的题目,其实很莫名其妙,实际开发或者应用尽量避免用这些,绕的看明白之后都牛年马月了。学习是为了更好的应用解决问题,而不是制造更多的问题,写一些只有他自己才看的明白深奥到极点的代码却自以为很厉害的人,相信没有一个老板会请吧。
2. 好的编程习惯是一种规范
模块划分要清晰,各个模块之间的关系一定要弱,这一点越大的系统越重要。动手之前确定好数据结构,类的设计,最好有特定的模板可以参考。文档一定要有,没有一个好的设计文档很难做出来一个好项目,而对于后期的开发、重构、维护如果没有开发文档的话那将是一场灾难。我学习的时候无论遇到什么题目,都会在草稿纸上PDL或者流程图,再根据这个写代码,写注释,你自己看得懂不代表别人也看的懂。做论文就更需要文档了,可以根据软件工程关于结构化程序设计的一些理论安排计划和实施,一看到题目就直接用C写代码或者上机调试,往往越改越多,可能又重头再来。每实现一个模块之后都备份,免得造成不必要的损失。
3. 编码是一种团体艺术而不是个性艺术
我个人觉得做软件这个行业,沟通很重要。如果是在现有的项目上添加新的功能,先看看有没有可以照搬的东西。也许你会排斥copy,这体现不出你的才华,也许你会觉得别人的代码不够完美,但是那经过各种测试并不断修正的代码至少比你这没经过任何测试的代码可靠的多,除非原有的代码已经展现出固有的缺陷。无论是毕业论文还是开发项目,都有可能是3个以上的人共同完成的,如果没有统一的风格,统一的规范,那么3个人就有3个人的风格,万一有人离职,同事看的很晕,影响进度。
4. 稳定比效率更重要。
如果不讨厌的话使用const会让你的代码更安全。对于函数的指针参数在第一行做一下判空操作吧,虽然看起来好像挺烦人的。尽可能让继承不要超过三层。继承是把双刃剑,好的继承可以省很多代码,不过用的不好的话也能把人绕晕。尤其某个项目人较多的情况下代码的简单性要优于代码的重用性。
相关文章推荐
- ReactiveCocoa概念解释篇
- PHP魔术变量
- Android禁止锁屏,保持常亮方法
- OC学生成绩管理类(一 综述)
- RTP-RTCP协议分析
- 基于AFNetworking的网络判断【转载】
- 通过OLE搭建开发环境
- 安卓网络通信框架Volley学习(二)基于Volley高效加载网络图片
- 小白菜系列之多线程(1)——创建线程
- 量化投资环境搭建
- 多线程问题
- IIS内存泄漏
- Windows下使用DOS命令进入MySQL数据库
- 【NDK开发】NDK开发实例1-hellojni
- 欢迎使用CSDN-markdown编辑器
- 将264万次数据的比较运算,运行时间从2.5小时降低到3分钟(R实现)
- BZOJ4140 : 共点圆加强版
- 1035. Password (20)
- UITableView
- 【Java EE (Struts2 + Spring + Hibernate)开发】:Struts2(二)之【控制文件上传和下载】