编写优秀代码的10个技巧

移动开发 Android
作为程序员,写代码是需要一种崇高无上的精神来支撑的,写出优秀的代码,更需要你有深厚的底蕴和良好的编码习惯。在介绍写优秀代码的10个技巧之前,我们先来探讨一下什么样的代码才是优秀的代码。

[[117037]]

作为程序员,写代码是需要一种崇高无上的精神来支撑的,写出优秀的代码,更需要你有深厚的底蕴和良好的编码习惯。在介绍写优秀代码的10个技巧之前,我们先来探讨一下什么样的代码才是优秀的代码。

稳定可靠(Robustness)
可维护且简洁(Maintainable and Simple Code)
高效(Fast)
简短(Small)
共享性(Reusable)
可测试性(Testable)
可移植性(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是因为它们都是经过了很多优秀开发人员的不断开发、测试,其效率很高,而且简洁易懂,希望大家能掌握它,熟悉它,使用它。是不是象我们的ULIB。

7、双手互搏,无坚不摧

这里的测试不是指别人来测试你的代码,而是指自己去测试。因为你是写代码的原作者,对代码的了解最深,别人不可能比你更了解,所以你自己在测试时,可以很好地去测试哪些边界条件,以及一些意向不到的情况。

8、活用断言

断言(assertion)是个很好的调试工具和方法,希望大家能多用断言,但是并不是所有的情况下都可以用到断言。有些情况使用断言反而不合适。

9、草木皆兵,不可大意

是指在写代码时,要小心一些输入的情况,比如输入文件、TCP的sockets、函数的参数等等,不要认为使用我们的API的用户都知道什么是正确的、什么是错的,也就是说一定要考虑到对外接口的出错处理问题。

10、***境界,无招胜有招

意思就是说尽量避免写太多的代码,写的越多,出错的机会也越多。***能重用别人开放的接口函数或直接调用别人的api。

本文链接:http://www.apkbus.com/android-11386-1.html

责任编辑:chenqingxiang 来源: apkbus
相关推荐

2023-03-27 15:05:10

Python技巧

2017-09-14 12:45:35

2014-09-12 10:38:01

程序员代码

2022-07-18 10:15:16

Python

2021-12-04 23:10:02

Java代码开发

2020-05-08 19:52:31

Reactreact.js前端

2024-01-30 08:54:05

JavaScript技巧代码

2021-02-23 10:48:30

Python代码开发

2023-04-14 08:10:59

asyncawait

2020-08-06 16:34:48

Python开发工具

2017-06-19 15:46:08

LinuxBash脚本技巧

2019-12-12 10:23:34

Linux 代码 开发

2017-08-15 11:32:21

LinuxBash脚本技巧

2017-08-30 11:10:25

代码

2017-08-30 19:32:08

代码程序员编程

2020-02-25 20:55:20

JavaScript开发 技巧

2022-08-28 19:03:18

JavaScript编程语言开发

2023-07-30 17:10:32

TypeScript开发

2020-06-23 07:50:13

Python开发技术

2019-12-17 08:07:58

微服务架构
点赞
收藏

51CTO技术栈公众号