11 个晋升编程能力的小办法
Step 1
清晰地剖析问题
如果在解决问题前不能先分明问题,理解具体情况,那在解决问题时,会很容易卡壳或导致场面更加凌乱。
Step 2
再三思考如何解决问题
整顿解决办法,并再三思考这些办法的可靠性,不倡议盲目行动。
Step 3
总结残缺的需要
花一点工夫写下产品须要达到的最终目标,并明确你的产品应用群体。在这个阶段有一个清晰的认知,会节俭之后的大量工夫。
Step 4
写一个欠缺的执行计划或搭建残缺模型
对于一些小我的项目,这一步你只须要画一个简略的流程图或者写一个简略的方程式。
对于一些更大的我的项目,你得把你的工作划分成一个个小模块,并思考以下问题:
- 每个模块须要实现的工作是什么
- 模块之间的数据如何流通
- 在每个模块里数据如何利用
尽管收集和打算需要这一步十分乏味,并且比间接写代码少了很多的乐趣。然而,如果没解决好这一步,之后破费数小时去 Debug 会更加的乏味。
花工夫事后去设计我的项目的流程和构造,你在写下第一行代码前就会发现,这对于实现你的最终目标,十分有帮忙。
Step 5
随时正文你的代码
如果你感觉你的代码须要被解释,那么就大胆写下你的正文吧。每一个函数都须要一两行正文去解释参数和返回后果。
正文应该更加重视表白起因,而不是单纯解释作用。更新代码的时候请留神更新正文。
Step 6
对变量应用统一的命名标准
这有助于帮你追溯变量类型,并理解变量的目标。这意味着你要写的代码不能仅仅是简略的 x = a + b * c 了。
当然,标准的变量能够使你的代码更容易调试和维持。目前风行的命名法是匈牙利命名法(驼峰式命名),变量名的前缀是它的类型。
比方,对于整数变量,你能够用 intRowCounter 命名,而字符串则能够用 strUserName.
但不论你的命名规定是什么,肯定要保障它的一致性,和变量名的可解释性。
Step 7
组织好你的代码
用可视化的构造来表明你的代码构造。比方,在条件语句或者循环语句下缩进一个代码块。
在变量名和运算符间(加减乘除等)记得要空格,这是为了让代码看起来更好看,易读。
Step 8
测试每一处
用输出和值来测试每个模块,而后尝试输出那些可能呈现又不太常见的输出值。这会清理掉任何暗藏的 bug。测试的艺术在于,你可能通过练习,逐步锤炼出本人的测试能力。
测试的例子如下:
* 极其值:对于正数值,应用 0 和超出预期的最大数值来测试;对于文本值,则用空字符串测试;对每一个参数用 null 来测试。* 无意义的值:即使你不置信你的用户会输出乌七八糟的货色,也请输出来测试一下。* 不正确的数值:用 0 来测试那些会被用来做除法的值;当要求输出一个负数或者用来计算平方根的数时,你能够输出正数;当要求输出一个字符串时,你能够尝试输出一个数值。
Step 9
练习,练习,练习
编程不是一个停滞不前的训练过程。总有新的货色须要学习,当然,更为重要的是,要一直温习那些旧的常识。
Step 10
随时筹备好做出扭转
在事实的工作环境中,需要总是变动的。只有你一开始就对需要和所执行打算足够理解,那中途的变动也很少会导致蹩脚的后果。
在开始编程前,你能够通过出现需要文档或者执行打算来晋升过程的清晰度。这会帮忙你随时确认所做的事是符合要求的。
Step 11
从简略到简单
当你须要解决简单的事件时,你能够先从结构简略的模块开始。比如说,你想在屏幕上发明一个能够追随鼠标方向挪动,且依据鼠标挪动速度一直变动形态的图形。
你能够依照下方的步骤操作:
* 从出现一个正方形开始,让它追随鼠标挪动,先解决挪动门路问题。* 而后,让正方形的大小和鼠标速度关联起来,解决速度与形态间的关联。* 最初,发明出你原本须要的图形,并将三个元素关联起来。* 这个办法导向模块化代码编写,每个元素有其外部的残缺模块。这对代码的重复使用十分有用,并且也会简化调试过程。