提高编程技能的11个建议

编程是非常酷的一件事情,但是在酷炫的背后它对很多人来说还是挺难的。很多人在学习编程之初就被困难击败了。

当你不熟悉编程的时候,你可能会觉得无从下手,并且不知道如何运用学到的知识。只要你通过了这一困难的学习阶段,你就会发现一个全新的世界。

以下是一些能够帮助你快速提高编程技巧的建议。

编程入门篇:

1.  多写代码

学习某件事情最好的办法就是练习。你应该花大量时间去构建和编写代码除非你认为练习对你的帮助不大。你可以从写一些基础知识相关的简单程序开始。

2.  参与不同类型的项目

当你对某种开发语言非常熟悉之后,你应该开始做一些正事了。这样做能帮你对那种开发语言的性能有个全面的理解,同时也能推动你去学习与这门语言相关的一些东西。过了段时间你会发现你经常用类似的方法去解决类似的问题,将很难从固有思维中跳出来去学习新的技能。

3.  精通一到两门你使用的语言

读一两本关于这门语言的好书。重点掌握这门语言的先进开发理论知识,并且对它的核心和语言库足够了解。确保你所使用的语言中至少有一种脚本语言。

4.  开始阅读

尽可能的多读书。书能够帮你系统的学习一门语言,并且能够带你了解这门语言的各个方面。对于初学者来说更应该多读书。

5.  加入讨论

当和别人讨论的时候,你会产生一些以前从未出现过的主意或者想法。在这个过程中,你能够从别人那里学到很多,同时这也是一次机会,通过分享你关于编程的看法检查你到底对于这门语言掌握了多少。

6.  通读公司内部的技术和培训资料

比如说,谷歌有很多的代码实验室,有着几十年经验的大牛们用各种语言写出来的最好的实践在实验室里用来做核心培训和高质量的指导。如果你公司没有类似的资源,谷歌的开源了一些他们的指南:https://code.google.com/p/google-styleguide/

7.  写博客

当你学习编程时,你会遇到各种问题,并且想尽办法去解决它们。你可以在博客中记录下你解决问题的过程和你从中学到了什么。其它人看到你的文章后,也能从中获益。同时,你还能和志同道合的人交上朋友。

至于花在学习编程上的时间,刚开始你应该挤出20%的个人时间致力于提高个人开发能力。如果可能的话,最好是每天一两个小时而不是一个礼拜一天,因为这样你能通过日常习惯去提高你的能力。最初的时候效果可能不明显(当然如果你因为上网或者其他事情分心的话是没效果的),但是这样做的目的是让你在长期的编程学习中有更高的效率。

编程提高篇:

1.首先仔细分析问题

2.接着好好想想如何解决这个问题

3.收集整理所有需求。

花点时间将最终产品要实现的目标写下来,并且明确哪些是我们的目标用户群。如果这一步能做好的话,将会给后面节约大量的时间,正所谓磨刀不误砍柴工。

4.写一个全面的实施计划(或模型)。

如果是个小项目,这一步出来的可能只是一个基本的流程或者一个简单的等式。

如果是个比较大的项目,这一步有助于我们将它切割成几个模块,然后再按下面的问题思考:

各个模块需要执行什么任务

模块之间如何传递数据

如何调用模块中的数据

虽然比起直接入手去写代码,收集和规划需求又枯燥又无趣,但是如果这一点没有做好,后面的调试工作就会特别繁琐。如果我们能花点时间,设计出一个正确的程序流程和结构,那么我们其实在写第一行代码之前就相当于已经成功了一半。

5.注释我们的代码。

如果你认为你的代码可能需要做个解释,那就去注释它。每个函数都应该提前一两行就先描述一下它的参数和返回结果。比起告诉你what,注释应该说明的是why。还有记得在更新代码的时候也要更新注释。

6.使用统一的命名规则定义变量。

这将有助于我们追踪各个类型的变量,并且对每个变量的用途一目了然。这一条的好处可不仅仅是方便我们打X = A+ B * C这么简单,它会让我们的代码更便于调试和维护。目前普遍受欢迎的一种命名方法是匈牙利命名法,它采用的是类型前缀于变量的做法。例如,对于整体变量,我们可以使用intRowCounter,字符串就是strUserName。无论你的命名规则是什么都没关系,只要保持一贯,并能简单描述变量就行。

7.格式化编辑代码,代码结构可视化。

例如,碰到条件语句(if、else等)和循环语句(for、while等)缩进代码。还有,可以在变量名和运算符号之间加个空格,运算符号指的是“+”、 “-”、“*”、“/”,以及“=”(举例,myVariable = 2 + 2)。这不但让你的代码更直观更优雅,还能使得我们的程序流程更加一目了然。

8.全面测试。

首先通过输入我们期望的值来测试每个模块能否独立运作。然后试着输入一些可能但是很少见的值,继续测试。这基本上能暴露所有隐藏的bug。测试也有所谓的技巧,通过练习和实践,我们谁都可以逐步建立起适合自己的技能。测试应包含下列情况:

极端值:正值用0和大于预期的最大值;文本用空字符串,参数用null。

无意义的值。虽然用户不大可能会输入乱码,但是我们自己无论如何先测试一下为好。

不正确的值。在除法中输入0,或者在预期是正数以及开平方根的情况下输个负数。当输入类型是一个字符串的时候,输入非数字,然后看看是否会被解析为数字值。

9.练习、练习、还是练习。

编程也会随着时代的前行而不断进步。所以总有新的东西需要我们学习,——甚至更加有用、更加重要——当然,也总有一些内容值得我们温故而知新。

10.减少需求改变的风险。

在现实的工作环境中,需求总是在不断变化的。然而,如果前期我们对需求收集得非常全面,一开始的实施计划就很有针对性,那么后期因需求改变导致的计划不周和双方产生误会的可能性就会小得多。

我们可以在开始写代码之前,通过展示需求文档和实施计划,以提高进程的清晰度。这将有助于确保我们的计划是真正按照客户的要求去完成的。

如果将项目比作是一系列的里程碑,那么一次只要完成一个就可以了。记住,在任何特定的时刻需要考虑的东西越少,那么我们想得就越详尽越完美。

11.由易到难,从简入繁。

如果你的软件复杂,那么我建议你最好先从简单的模块入手。例如,有这样一个项目:请设计一个程序,要求能出现一个跟着鼠标方向走的渐变图形,并且还能根据鼠标滑动速度改变形状。

首先,设计一个正方形,写一段能做到让它跟随鼠标的代码,这样就把运动追踪问题先单独拎出来解决掉了。当然这才是第一步。

接下来,将这个正方形的大小与鼠标的速度相关联,即解决了形状随速度而变的问题。

最后,创建你想要的实际形状,并把这三个组件连接在一起即可。

运用这种方法自然而然地就编写出来了模块化的代码。并且每个组件都有它自己独立的功能。这对代码重用是非常有用的(例如,你完全可以在其他项目中应用第一步骤(用于实现鼠标跟踪)的代码),并让我们的程序更容易调试和维护。

(0)

相关推荐

  • 提高编程技能的11个建议

    编程是非常酷的一件事情,但是在酷炫的背后它对很多人来说还是挺难的.很多人在学习编程之初就被困难击败了. 当你不熟悉编程的时候,你可能会觉得无从下手,并且不知道如何运用学到的知识.只要你通过了这一困难的学习阶段,你就会发现一个全新的世界. 以下是一些能够帮助你快速提高编程技巧的建议. 编程入门篇: 1.  多写代码 学习某件事情最好的办法就是练习.你应该花大量时间去构建和编写代码除非你认为练习对你的帮助不大.你可以从写一些基础知识相关的简单程序开始. 2.  参与不同类型的项目 当你对某种开发语言

  • 有效的提高编程技能的12个方法

    1. 永远不要停止学习和阅读 阅读 书籍,而不只是网站 阅读 只为自我提升,而不是为了下一个项目 阅读 提升你的基础,而不只是最新技术 2. 跟比你聪明的人一起工作 跟比你更聪明的人或者是更有经验的人一起工作,可以让你快速提升 3. 变成一个全才 不要过于钻牛角尖,这可能会让你停滞不前和伤害你的就业前景. 4. 阅读并记录别人的代码 其实写代码比阅读并理解别人的代码要容易的多. 5. 在实际的项目中获取编程经验 只有在真实的项目中,各种压力下.真实善变的客户.不断变化的需求下,才能不断提升你的技

  • PHP编程开发怎么提高编程效率 提高PHP编程技术

    用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数"(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号). 1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row['id'] 的速度是$row[id]的7倍. 3.echo 比 print 快,并且使用echo的多重参数(译注:指用

  • C#提高编程能力的50个要点总结

    本文总结了C#提高编程能力的50个要点.分享给大家供大家参考,具体如下: 1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if 5.总是为自定义类重载 ToString 方法 6.区别值类型和引用类型 7.使用不可变的值类型(Immutable Atomic

  • JavaScript关于提高网站性能的几点建议(一)

    近在学习<高性能网站建设指南>这本书,本文算是一个学习笔记,将学到的东西进行整理一下,方便后面查看. 性能黄金法则(Performance Golden Rule)解释了只有10%~20%的最终用户响应时间花在接受所请求的用户HTML文档上,剩余的80%~90%时间花在为HTML文档所引用的所有组件(图片.脚本.样式表等)进行的HTTP请求上,最终用户响应时间花费在页面组件上   --Steve Sounders 1 文件合并(减少HTTP请求数量) CSS Sprites   利用css s

  • 提高python代码运行效率的一些建议

    1. 优化代码和算法 一定要先好好看看你的代码和算法.许多速度问题可以通过实现更好的算法或添加缓存来解决.本文所述都是关于这一主题的,但要遵循的一些一般指导方针是: 测量,不要猜测. 测量代码中哪些部分运行时间最长,先把重点放在那些部分上. 实现缓存. 如果你从磁盘.网络和数据库执行多次重复的查找,这可能是一个很大的优化之处. 重用对象,而不是在每次迭代中创建一个新对象.Python 必须清理你创建的每个对象才能释放内存,这就是所谓的"垃圾回收".许多未使用对象的垃圾回收会大大降低软件

  • 新手学习Linux系统的11点建议

    随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux的一些建议. 一.从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题.而有些朋友们常常一接触Linux 就是希望构架网站,根本没有

  • PHP提高编程效率的20个要点

    用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数"(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号).    1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row['id'] 的速度是$row[id]的7倍. 3.echo 比 print 快,并且使用echo的多重参数(译注

  • 新手入门Python编程的8个实用建议

    前言 我们在用Python进行机器学习建模项目的时候,每个人都会有自己的一套项目文件管理的习惯,我自己也有一套方法,是自己曾经踩过的坑踩过的雷总结出来的,现在在这里分享一下给大家,因为很多伙伴是接触Python编程入门不久,也希望大家少走弯路,多少有些地方可以给大家借鉴. 目录先放出来 项目文件事先做好归档 永远不要手动修改源数据并且做好备份 做好路径的正确配置 代码必要的地方做好备注与说明 加速你的Python循环代码 可视化你的循环代码进度 使用高效的异常捕获工具 要多考虑代码健壮性 1.

  • 《Python之禅》中对于Python编程过程中的一些建议

    围绕一门语言,学习它的文化精髓,能让你成为一名更优秀的程序员.如果你还没读过Python之禅(Zen of Python) ,那么打开Python的命令提示符输入import this,列表中的每一项你都可以在这里找到相对应的例子. 吸引我注意力的一条是: 优雅胜于丑陋 (Beautiful is better than ugly) 看下面例子: 一个带有数字参数的list函数其功能是返回参数中的奇数可以分开写: #----------------------------------------

随机推荐