程序员编程的 7 + 1 条小贴士

简介:

1.编码之前想一想

用10分钟,20分钟甚至30分钟的时间来想想你需要什么,想想什么样的设计模式(如果有的话)适合你将要编码的东西。真的要好好想想,你会很庆幸“浪费”了那几分钟,当你不得不更改或添加东西到代码中,而这只花费了你30分钟的时间而不是5小时。

image

2.注释你的代码

说真的,没有什么比两个月后检查自己的代码,却不记得它用来干什么更糟糕的了。注释所有重要的内容,当然那些显而易见的就免了吧。

3.写干净的代码

错落有致。使用空格。根据功能模块化你的代码。阅读Robert C. Martin写的《Clean Code》,非常有帮助。此外,遵循代码约定/标准(如Java Code Conventions),尤其如果是共享的代码。

4.重构

没有人喜欢用那些超级长的方法。这通常(几乎总是)意味着你混杂了功能。用更易于管理的方法分离代码。还能使得代码更可重用。

5.不要复制粘贴代码

如果你有两个或两个以上相同的代码块,那么你可能做错了什么。阅读第4条。

6.使用有意义的名称

虽然命名int变量为“elligent”或char为“mander”是很好笑;但是,这样的名称并不能说明变量是用来做什么的。

7.测试代码

测试,测试,测试,还是测试。测试你的代码。不要等到已经做完程序之后再来测试,否则当你发现一个巨大的bug,却不知道它来自于哪里来的时候,你会追悔莫及。

7b.自动化测试通常都是有价值的。它还有助于节省大量重测试和回归测试的时间。

7+1.学会调试

在我的第一年,我习惯于管理事情而不知道如何去做,并且每次遇到问题的时候就println。大错特错。有时候,我甚至找不到bug,而且检查“丢失的”println浪费时间。

文章转载自 开源中国社区[http://www.oschina.net]

相关文章
|
7月前
|
消息中间件 Linux API
一篇文章讲明白LinuxKernel编程
一篇文章讲明白LinuxKernel编程
41 0
|
4月前
|
编译器 Go
go语言学习记录(关于一些奇怪的疑问)有别于其他编程语言
本文探讨了Go语言中的常量概念,特别是特殊常量iota的使用方法及其自动递增特性。同时,文中还提到了在声明常量时,后续常量可沿用前一个值的特点,以及在遍历map时可能遇到的非顺序打印问题。
|
8月前
|
程序员 计算机视觉
程序员的“防御性编程”
最近都在聊程序员要做好“防御性编程”,"防御性编程"的概念从之前的“保护程序”一下子变成了现在的“保护程序员”,一字之差,千差万别。
程序员的“防御性编程”
|
8月前
|
设计模式 算法 Java
|
算法 Unix Java
初学者值得一看:什么是编程/C语言,编程学习建议,编程解疑与误区注意
初学者值得一看:什么是编程/C语言,编程学习建议,编程解疑与误区注意
193 0
|
安全 Java API
枯燥的Kotlin协程三部曲(上)——概念启蒙篇(下)
Kotlin 1.3 版本开始引入协程 Coroutine,简练的官方文档 和 网上一堆浅尝辄止的文章让我心里没底,不想止步于仅仅知道: ① Android中,Kotlin协程用于解决:处理耗时任务 和 保证主线程安全;② 利用Kotlin协程,可以用看起来:同步 的方式编写 异步 代码;③ 基础的API调用;
275 0
|
消息中间件 安全 API
枯燥的Kotlin协程三部曲(上)——概念启蒙篇(中)
Kotlin 1.3 版本开始引入协程 Coroutine,简练的官方文档 和 网上一堆浅尝辄止的文章让我心里没底,不想止步于仅仅知道: ① Android中,Kotlin协程用于解决:处理耗时任务 和 保证主线程安全;② 利用Kotlin协程,可以用看起来:同步 的方式编写 异步 代码;③ 基础的API调用;
184 0
|
监控 安全 API
枯燥的Kotlin协程三部曲(上)——概念启蒙篇(上)
Kotlin 1.3 版本开始引入协程 Coroutine,简练的官方文档 和 网上一堆浅尝辄止的文章让我心里没底,不想止步于仅仅知道: ① Android中,Kotlin协程用于解决:处理耗时任务 和 保证主线程安全;② 利用Kotlin协程,可以用看起来:同步 的方式编写 异步 代码;③ 基础的API调用;
218 0
|
SQL 人工智能 编译器
Prolog奇怪奇妙的思考方式
Prolog奇怪奇妙的思考方式
228 0