如何写出可优秀的代码
来源:互联网 发布:桌面便签 知乎 编辑:程序博客网 时间:2024/06/06 15:42
作为程序员,写代码是需要一种崇高无上的精神来支撑的,写出优秀的代码,更需要你有深厚的底蕴和良好的编码习惯。我们先来探讨一下什么样的代码才是优秀的代码。
1、稳定可靠(Robustness)
2、可维护且简洁(Maintainable and Simple Code)
3、高效(Fast)
4、简短(Small)
5、共享性(Reusable)
6、可测试性(Testable)
7、可移植性(Portable)
面对以上的目标,我们总结了以下10个写代码的技巧,希望对你有所帮助。
1、百家之长归我所有(站到巨人的肩膀上)
其实写代码的方式有很多,每个人都有自己的风格,但是众多的风格中总有一些共性的、基本的写代码的风格,如为程序写注释、代码对齐等等。是不是编程规范?对就是编程规范。
2、取个好名字(有意义)
取个好的函数名、变量名,最好按照一定的规则起名。还是编程规范。
3、凌波微步,未必摔跤
这里我用“凌波微步”来形容goto语句。通常,goto语句使程序跳来跳去,不容易读,而且不能优化,但是在某种情况下,goto语句反而可以增强程序的可读性。Just go ahead,not go back。
4、先发制人,后发制于人
Defensive Coding指一些可能会出错的情况,如变量的初始化等,要考虑到出现错误情况下的处理策略。测试时要多运行几个线程。有些程序在一个线城下运行是正常的,但是在多个线程并行运行时就会出现问题;而有些程序在一个CPU运行几个线程是正常的,但是在多个CPU下运行时就会出现问题,因为单CPU运行线程只是狭义的并行,多CPU一起运行程序,才是真正的并行运算。
5、见招拆招,滴水不漏
这里的Error Case(错误情况),是指那些不易重视的错误。如果不对Error Case进行处理,程序在多数情况下不会出错,但是一旦出现异常,程序就会崩溃。
6、熟习剑法刀术,所向无敌(没事的时候多看API)
用“剑法刀术”来形容一些API是因为它们都是经过了很多优秀开发人员的不断开发、测试,其效率很高,而且简洁易懂,希望大家能掌握它,熟悉它,使用它。是不是象我们的ULIB。
7、双手互搏,无坚不摧
这里的测试不是指别人来测试你的代码,而是指自己去测试。因为你是写代码的原作者,对代码的了解最深,别人不可能比你更了解,所以你自己在测试时,可以很好地去测试哪些边界条件,以及一些意向不到的情况。
8、活用断言
断言(assertion)是个很好的调试工具和方法,希望大家能多用断言,但是并不是所有的情况下都可以用到断言。有些情况使用断言反而不合适。
9、草木皆兵,不可大意
是指在写代码时,要小心一些输入的情况,比如输入文件、TCP的sockets、函数的参数等等,不要认为使用我们的API的用户都知道什么是正确的、什么是错的,也就是说一定要考虑到对外接口的出错处理问题。
10、最高境界,无招胜有招
意思就是说尽量避免写太多的代码,写的越多,出错的机会也越多。最好能重用别人开放的接口函数或直接调用别人的api。
本文链接:http://www.apkbus.com/android-11386-1.html
- 如何写出可优秀的代码
- 如何利用工具写出优秀的Ruby代码?
- 怎样写出优秀的代码
- 如何写出优秀的程序?
- 如何写出优秀的程序?
- 如何写出优秀的程序?
- 如何写出优秀的程序?
- 如何写出优秀的程序?
- 如何写出优秀的子程序
- 如何写出高效可维护并且规范的js代码
- 如何写出高效可维护并且规范的js代码
- 七步写出优秀的JS代码
- 七步写出优秀的JS代码
- 七步写出优秀的JS代码
- 如何写出优秀的ASP应用
- 如何写出漂亮的代码
- 如何写出规范的代码
- 如何写出可测性强的代码
- Remove an element from Javascript Array
- CI的几个特殊配置
- ssh免密码登陆 - 服务器建立信任关系
- Eclipse通过Wifi调试程序
- QT皮肤(QSS)编程
- 如何写出可优秀的代码
- Flex强制类型转换错误
- 数组、链表、哈希……Qt中丰富的容器类
- 常量指针和指针常量
- 豆瓣影评 高地战
- JavaScript splice 方法:插入、删除或替换数组的元素
- Metasploitable2 - tcp port 3632 - distccd
- 【华为OJ】开放的书名检索库
- Android Service启动方式以及生命周期以及通信总结