【编程技巧】提高程序员技能的11招

1.清晰的分析问题

2.三思而后行如何解决这个问题

3.收集完整的需求。

花点时间,想好产品的目标形态和最终的用户群。在这个阶段思路清晰会给以后节省很多时间。

4.写一个执行计划

对于比较大的项目,将工作拆分成多个模块来做,并考虑以下几点:

1)每个模块都会用到的功能;

2)数据在各个模块之间如何传递;

3)数据在每个模块中如何使用;

收集需求和做计划比编码乏味,甚至比花几个小时调试代码更繁琐。如果前期你能花时间正确设计项目的流程和结构,写代码的部分只是体力活。

5.注释你的代码。

每个函数都应该有1-2行的注释,标明参数和返回值的含义。注释应该是告诉你“为什么”而不是“什么”。在修改代码的时候记住更新注释。

6.使用一致的变量命名规则。

这将有助你跟踪各个类型的变量,了解这个变量的作用。使代码易于调试和维护。一个比较流行的约定是匈牙利命名法---以变量类型作为名字的前缀。例如:整型变量使用“intRowCounter”,字符串变量使用“strUserName”。无论你是用什么命名约定都没关系,最终保证你的变量名称是描述它的作用的就行。

7.组织你的代码。

按照一定的代码规范组织代码,该缩进的缩进,该加空格的加空格。这样会使代码看起来更优雅,流程看起来更加清晰。

8.测试一切。

首先,在模块内部测试,使用你所期望的输入和输出测试。然后使用可能出现的输入输出测试。按照上述方法会测试出隐藏的bug。测试也是一种艺术,通过实践,你会逐渐巩固自己的技能。在接口的测试用例中需要包括以下几项:

a.边界值:0和超出预期的最大值,文本值,空字符串,空参数;

b.无意义的值:假设用户输入的是乱码;

c.不正确的值:如参数要求数字,使用字符串测试。

9.实践,实践,实践。

编程不是一个停滞不前的行为。应该活到老,学到老。反复学习一些旧的知识是很重要的。

10.准备接受需求变更。

在现实工作环境中,需求是会变更的。开始时需求越清晰,排期越清晰。

a.在写代码之前,需求文档或者实现计划会让整个项目的过程更加清晰。

b.将工程分为一系列的里程碑,为每个block做一个demo。一次管理一个里程碑过程。

11.从简单到复杂。

当设计的东西比较复杂时,先设计一个简单的demo,然后把功能一个一个加上去。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-05-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

阿里面试官的分享Java面试中需要准备哪些多线程并发的技术要点

下面这些是我在不同时间不同地点喜欢问的Java线程问题。我没有提供答案,但只要可能我会给你线索,有些时候这些线索足够回答问题。

3749
来自专栏牛客网

阿里一面 京东一面+二面

1944
来自专栏程序员互动联盟

【编程基础】聊聊如何学习Java——Java的特性

上一篇文章聊了学习编程可能会遇到的心里障碍和为什么学习Java,看了网友们的回复小编很激动,我会积极听取网友们的留言,在我以后的文章中改进。现在说Java语言的...

3509
来自专栏Java架构师学习

阿里面试官的分享Java面试中需要准备哪些多线程并发的技术要点一、概念三、常见多线程面试题:四、多线程并发的学习思路:五、总结

一、概念 什么是线程 一个线程要执行任务,必须得有线程 一个进程(程序)的所有任务都在线程中执行的 一个线程执行任务是串行的,也就是说一个线程,同一时间内,只能...

3889
来自专栏木木玲

设计模式 ——— 中介者模式

1683
来自专栏Java架构

每个 JavaScript 工程师都应当知道的 10 个面试题以人为本1. 能说出来两种对于 JavaScript 工程师很重要的编程范式么?2. 什么是函数式编程?3. 类继承和原型继承有什么区别?

1636
来自专栏企鹅号快讯

白话C+编程系列之十一 规范篇

上回说到《白话C++编程系列之十: 入口函数篇》 , 我们知道了程序的入口函数通常为main, 就像逛超市, 我们必须得知道它的入口, 才能进去shopping...

1825
来自专栏Java架构

阿里面试官的分享Java面试中需要准备哪些多线程并发的技术要点一、概念二、多线程的4种方案三、常见多线程面试题:四、多线程并发的学习思路:五、总结

2366
来自专栏IT技术精选文摘

Android内存泄漏监控和优化技巧总结

1283
来自专栏DT乱“码”

java中接口的作用

很多JAVA初级程序员对于接口存在的意义很疑惑。不知道接口到底是有什么作用,为什么要定义接口。       好像定义接口是提前做了个多余的工作。下面我给大家总结...

17510

扫描关注云+社区