作为一个程序员如何去提高你的技能
在这个时代,编程是市场所需要众多技能中的一种。从能够开发一个公司网站到知道如何轻松地修改错误,这些技能在很多方面对于一个职员或者你来说都是非常重要的。然而,保持你现在所在的状态,可能无法使你达到你能够做到的最好状态,阅读下面的文章并且学习作为一个程序员如何去提示自己的技能吧。
步骤:
1.清晰地分析问题。
2.对于如何去解决问题多思考几遍。
3.收集完整的需求。花时间写下最终的产品需要达到的目标和你的用户群是谁,在这个阶段清晰的思路会为整体省下大量的时间。
4.写下充分的实现计划(或模型)。
在模块间数据是如何传送的
在每一个模块里面数据是如何被使用的
虽然收集并根据需求做计划是很无聊的,并且也没有直接写代码有趣,甚至比花时间改bug都更要无聊。提前花时间去正确地设计你项目的流程和结构,你可能会在你写第一行代码之前找到更多有效率的方法去完成你的目标。
5.写好你的注释。如果你认为你的代码需要解释,那就给它一个注释。在每个函数之前应该有1-2行注释来说明它的参数和返回值是什么。注释会告诉你为什么,而不只是结果。记住,在更新自己的代码的同时也应该更新自己的注释。
6.用一致的命名习惯为变量命名。它会帮助你保持对每个变量的记录并且知道声明这个变量的目的是什么。这就意味着不会有像 x=a+b*c 这样更多的例子,这会让你的代码更容易去调试和维护。一个受欢迎的标记法是“匈牙利标志法”,它是将变量名和类型混合命名的。例如,对于整型变量,你可以使用intRowCounter,而对于字符串,就可以使用strUserName。不管你的命名习惯是什么,一定要保证它是一致的并且你的变量名是描述性的。
7.组织你的代码。用可视化的结构去标示代码结构。比如说,在一个条件语句或循环语句中使一段代码块缩进排版,并且试着在一个变量名和一个像加减乘除这样的操作符之间放置空格,甚至是等于号(myVariable = 2 + 2)。就像是让代码看起来更优美一样,这也使得我们可以一下就看出程序流程。
8.测试所有的一切。开始的时候在每个模块之中测试,用通常的输入值来测试,然后输入一些可能但是很少见的值,这样就可以测出一些隐藏的bug。测试是有艺术性的,并且你会逐渐建立起实践的能力。写下你的测试用例,包括以下几个方面:
9.练习,练习,练习。编程不是一个停滞的技能,总会有一些新东西需要去学习,也许更重要的是,经常有一些旧东西需要重新学习。
10.为改变做好准备。在一个现实的工作环境中,需求会经常改变。但是,在开始收集需求的时候你越清晰,你在开始撰写实现计划的时候也会越清晰,而不是因为简陋的计划或者误解而让需求的改变起决定性作用。
11.为了完成复杂的任务开始的时候应该尽可能地简单。当需要编写一些困难的程序时,这样就可以帮助构建适当的构造模块并且恰当地去工作。举一个例子,比如说你想在屏幕上创建演变的形状来跟随鼠标的趋势,并且根据鼠标速度改变形状。
把原文的链接加到这里:http://www.wikihow.com/Improve-your-Skills-as-a-Programmer
大家也可以看一下
在这个时代,编程是市场所需要众多技能中的一种。从能够开发一个公司网站到知道如何轻松地修改错误,这些技能在很多方面对于一个职员或者你来说都是非常重要的。然而,保持你现在所在的状态,可能无法使你达到你能够做到的最好状态,阅读下面的文章并且学习作为一个程序员如何去提示自己的技能吧。
步骤:
1.清晰地分析问题。
2.对于如何去解决问题多思考几遍。
3.收集完整的需求。花时间写下最终的产品需要达到的目标和你的用户群是谁,在这个阶段清晰的思路会为整体省下大量的时间。
4.写下充分的实现计划(或模型)。
- 对一些小的或独立的项目,可能就只需要写一个基本的流程图或者简单的式子。
- 对于大型的项目,就需要将原来的任务分成几个模块,并且考虑下面几点:
在模块间数据是如何传送的
在每一个模块里面数据是如何被使用的
虽然收集并根据需求做计划是很无聊的,并且也没有直接写代码有趣,甚至比花时间改bug都更要无聊。提前花时间去正确地设计你项目的流程和结构,你可能会在你写第一行代码之前找到更多有效率的方法去完成你的目标。
5.写好你的注释。如果你认为你的代码需要解释,那就给它一个注释。在每个函数之前应该有1-2行注释来说明它的参数和返回值是什么。注释会告诉你为什么,而不只是结果。记住,在更新自己的代码的同时也应该更新自己的注释。
6.用一致的命名习惯为变量命名。它会帮助你保持对每个变量的记录并且知道声明这个变量的目的是什么。这就意味着不会有像 x=a+b*c 这样更多的例子,这会让你的代码更容易去调试和维护。一个受欢迎的标记法是“匈牙利标志法”,它是将变量名和类型混合命名的。例如,对于整型变量,你可以使用intRowCounter,而对于字符串,就可以使用strUserName。不管你的命名习惯是什么,一定要保证它是一致的并且你的变量名是描述性的。
7.组织你的代码。用可视化的结构去标示代码结构。比如说,在一个条件语句或循环语句中使一段代码块缩进排版,并且试着在一个变量名和一个像加减乘除这样的操作符之间放置空格,甚至是等于号(myVariable = 2 + 2)。就像是让代码看起来更优美一样,这也使得我们可以一下就看出程序流程。
8.测试所有的一切。开始的时候在每个模块之中测试,用通常的输入值来测试,然后输入一些可能但是很少见的值,这样就可以测出一些隐藏的bug。测试是有艺术性的,并且你会逐渐建立起实践的能力。写下你的测试用例,包括以下几个方面:
- 极端的值:0,对于正的数值型值超出期望大小的值,对于文本型值就是空字符串,并且对于一切类型的null。
- 没有意义的值:甚至连你自己都不相信,你的最终用户会输入什么莫名其妙的值来测试你的软件。
- 不正确的值:将一个值为0的数作为除数,或者期望一个正数或者计算一个数的平方根时输入一个负数。当一个数不是一个 数值时,输入一个字符串,它就会被转换成一个数值类型的值。
9.练习,练习,练习。编程不是一个停滞的技能,总会有一些新东西需要去学习,也许更重要的是,经常有一些旧东西需要重新学习。
10.为改变做好准备。在一个现实的工作环境中,需求会经常改变。但是,在开始收集需求的时候你越清晰,你在开始撰写实现计划的时候也会越清晰,而不是因为简陋的计划或者误解而让需求的改变起决定性作用。
- 在开始编程之前,你应该扮演一个积极的角色,通过完善的需求文档和实现计划来提高程序的清晰度。这样就会确保你准备去实现的产品确实是用户所要求的。
- 用一个演示将项目分解,对于其中的每一块都可以看成一系列的里程碑,这样就可以一次只管理一个过程。那么在任何给定 的时刻你需要考虑的事就变少了,这样你也会能够更清晰地思考、
11.为了完成复杂的任务开始的时候应该尽可能地简单。当需要编写一些困难的程序时,这样就可以帮助构建适当的构造模块并且恰当地去工作。举一个例子,比如说你想在屏幕上创建演变的形状来跟随鼠标的趋势,并且根据鼠标速度改变形状。
- 开始时通过显示一个阵列并且让它跟随鼠标。首先解决移动轨迹问题。
- 接下来,让阵列的大小和鼠标的速度相关。独立解决形状和速度问题。
- 最后,创造你想要的真实形状,并且将这三个模块组合在一起。
把原文的链接加到这里:http://www.wikihow.com/Improve-your-Skills-as-a-Programmer
大家也可以看一下