如何更有效的编写程序

1. 首先要很清楚的分析问题
 
Improve your Skills as a Programmer Step 1.jpg
 
 
2. 再三考虑如何解决这个问题
 
Improve your Skills as a Programmer Step 2.jpg
 
 
3. 获得完整的需求
 
Improve your Skills as a Programmer Step 3.jpg
 

       花点时间把产品最终期望达到的目标写出来,确定你的用户群体,这一阶段想清楚的话会为你后续的工作节省很多时间。
 
 
4. 写出完整的实现计划
 
Improve your Skills as a Programmer Step 4.jpg
 
       对于一个小型的或独立的项目,它可能就是一个流程图或一个简单的方程式。但对于较大的项目来说,它会帮助你把工作分解为一个个模块,然后你需要思考:
      (1)每一个模块应该实现什么样的功能?
      (2)在各个模块之间如何传递需要的数据?
      (3)在一个模块内部如何使用这些数据?
       尽管收集和计划需求是乏味的,相比于直接用代码实现要无趣得多,甚至比花几个小时去调试程序更无聊。但是,预先花一些时间设计流程和正确的程序结构,你就会发现在你写第一行代码之前就已经找到了最高效的方法。

 
5. 大方地注释你的代码
 
Improve your Skills as a Programmer Step 5.jpg
 
       如果你认为你的代码需要一些解释说明,那就大方地加注释。每一个函数应该有1-2行描述说明,记住注释更多的是要解释“Why”而不是“What”。另外,在你更新代码时不要忘记更新注释部分。但是,注意 不要这样注释你的代码
 
6. 使用统一的命名规则
 
Improve your Skills as a Programmer Step 6.jpg
 
       这会帮助你追踪任何一种类型的变量,理解每一个变量设置的目的。这肯定需要有更多的打字,而不是简单的x = a+b*c,但它会让你的代码更容易调试和维护。一个常用的命名法则是匈牙利表示法(Hungarian notation),即变量名前包括一个它的数据类型前缀,比如一个整型变量你可能会命名为intRowCounter,一个字符串变量被命名为strUserName。无论你用的是哪种命名规则,一定要前后统一,而且变量名是描述性的。PHP100给大家介绍过相关内容《 如何给程序中的变量起个好名字》《 拿本字典去编程吧》。


7. 组织你的代码
 
Improve your Skills as a Programmer Step 7.jpg
       使用可见的方法展现你的代码结构,比如在条件语句(if,else......)或循环语句(for,while......)内部使用缩进结构,在变量和操作符(加,减,乘,除,等号......)之间有空格,像myVariable = 2 + 2)。这其实也是让你的代码看起来更漂亮,第一眼看上去更清晰和容易理解。


8. 测试所有的部分
 
Improve your Skills as a Programmer Step 8.jpg
 
       从测试每一个独立的模块做起,先使用那些典型常见的数据输入,然后再输入那些可能但不常见的数据,这样可以排查出那些隐藏的bug。测试是一门艺术,你会通过不断练习提高测试能力。你的测试程序应该包括下面这些测试用例:
      (1)极端值:数字零,超出预期的最大数字,空字符串,空参数等等。
      (2)无意义值:即使你不相信你和你的用户会输入这样无意义的乱语,但你依然要测试你的软件是否可以处理它们。
      (3)非法输入:使用零作为除数,对负数的开方,把字符串当成数字处理等等。

 
9. 练习,练习,再练习
 
Improve your Skills as a Programmer Step 9.jpg
 
       编程不是一成不变的,也不是由死规则规定的。永远都有新知识可以学习,还一点可能更为重要,就是把旧东西要温习和重新学习。
 

10. 随时迎接变化
 
Improve your Skills as a Programmer Step 10.jpg
 
       在现实的工作环境中,需求可能会改变。但是,需求分析阶段做得越好,在实现计划方面做得越好,需要做出改变的可能性就会越小。因为很多改变是因为开始阶段对需求和计划做的不好。
      (1)在你开始写代码之前展示出你的需求分析文档和实现计划,可以让你在后续工作中更为主动,这也可以帮助你确认你的程序和需求是匹配的。
      (2)将整个项目划分为一系列的里程碑事件,每次只处理一件事情(里程碑)。在一个时刻你需要考虑的事情越少,你就会想的越清楚。

 
11. 编程:从简单到复杂
 
Improve your Skills as a Programmer Step 11.jpg
 
       如果你需要编写的程序比较复杂,先从简单的开始,先把简单的做好。比如,你要在屏幕上创建一个不断进化的图形,它会按照鼠标的轨迹移动,并根据你操纵鼠标的速度来变换形状。你可以这样做:
      (1)先在屏幕上展现一个矩形,它可以按照鼠标的轨迹移动,这是第一步,即先单独处理移动轨迹这部分。
      (2)使矩形的大小可以根据鼠标的速度变化,即单独处理速度和形状的关系。
      (3)最后在创建你需要的图形形状,再把上述两个步骤结合起来。
      (4)这种方法可以让代码模块化,每一个模块都相对独立,这对代码复用和日后的调试维护很有帮助。

最后加上自己的经验教训:
  对于上网查资料,绝对不能不了解所查资料的详细说明,或者对于代码,绝对不能没看懂就把它拿过来用!这样,你永远进步不了,这我很有体会!刚开始写代码时,网上查过的资料代码,过段时间就不记得是干嘛的了,所以一定要用笔记下来(好记性不如烂笔头)。别认为自己记性好,你总会有记忆衰退的时候,我曾经也一直认为自己记忆力还是不错的,可是渐渐的就吃到苦头,血的教训啊。






 

程序员 PHP100 编程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值