提高编程技能的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.由易到难,从简入繁。

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

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

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

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

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

时间: 2024-12-05 13:41:05

提高编程技能的11个建议_相关技巧的相关文章

有效的提高编程技能的12个方法_相关技巧

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

关于提高编程技能的11大秘籍

我们开门见山地说吧: 1.首先仔细分析问题 2.接着好好想想如何解决这个问题 3.收集整理所有需求. 花点时间将最终产品要实现的目标写下来,并且明确哪些是我们的目标用户群.如果这一步能做好的话,将会给后面节约大量的时间,正所谓磨刀不误砍柴工. 4.写一个全面的实施计划(或模型). 如果是个小项目,这一步出来的可能只是一个基本的流程或者一个简单的等式. 如果是个比较大的项目,这一步有助于我们将它切割成几个模块,然后再按下面的问题思考: 各个模块需要执行什么任务 模块之间如何传递数据 如何调用模块中

12种实现301网页重定向方法的代码实例(含Web编程语言和Web服务器)_相关技巧

为什么需要使用301重定向: 1. 保留搜索引擎的排名: 301 重定向是最有效的方法,不会影响到搜索引擎对页面的排名. 2. 保留访客和流量: 如果你将页面链接到大量方法可以访问过的地址,如果不是用重定向的话你就会失去这些用户(不解)原文:If you move your popular page to which a lot of visitors have already linked, you may lose them if you don't used redirect method

编程之显示/隐式声明_相关技巧

显示声明 是程序中的一条说明语句,它列出一批变量名并指明这些变量的类型.如C.C++.Java中 复制代码 代码如下: // 显示声明 变量count,类型为int,占用空间大小各语言可能有所不同 int count; 又如JavaScript中 复制代码 代码如下: // 显示声明 变量count,但不知其类型,也不知其占用空间大小 var count; 隐式声明 指通过某种默认协定的方法将变量名与类型绑定 如在Fortain中,一个以字母I.J.K.L.M或者N(或其对应小写)开始,它们被隐

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

12 个有效的提高编程技能的方法 By xsky | 2012年5月31日 0 Comment 1. 永远不要停止学习和阅读(学习是为获得新技能:阅读是为了获得新的学习的方向) 阅读 书籍,而不只是网站阅读 只为自我提升,而不是为了下一个项目阅读 提升你的基础,而不只是最新技术 2. 跟比你聪明的人一起工作 跟比你更聪明的人或者是更有经验的人一起工作,可以让你快速提升 3. 变成一个全才(一钻多能可能更贴切,人的精力是有限的,不可能样样精,否则就变成了样样松!) 不要过于钻牛角尖,这可能会让你停

Web 设计与开发者必须知道的 15 个站点_相关技巧

 ColorCombos 开发者必须知道的 15 个站点_相关技巧-汇付天下开发者站点"> 配色是 Web 设计的首要大事,Color Combos 帮你预备了数千种配色方案,可以根据色调浏览选取.LIpsum Lorem Ipsum Text 是一中自造的,字典中不存在的单词,是在演示页面结构的时候,需要加文字的地方使用 Lorem Ipsum Text 填充可以避免用户因关注文字的意思而分神.Lipsum.com 可以帮你生成制定数目的 Lorem Ipsum 单词.What the

高性能WEB开发(5) 减少请求,响应的数据量_相关技巧

GZIP压缩    gzip是目前所有浏览器都支持的一种压缩格式,IE6需要SP1及以上才支持(别说你还在用IE5,~_~).gzip可以说是最方便而且也是最大减少响应数据量的1种方法. 说它方便,是因为你不需要为它写任何额外的代码,只需要在http服务器上加上配置都行了,现在主流的http服务器都支持gzip,各种服务器的配置这里就不一一介绍(其实是我不知道怎么配), nginx的配置可以参考我这篇文章:www.blogjava.net/BearRui/archive/2010/01/29/w

Web开发/设计人员应当知道的15个网站_相关技巧

ColorCombos 开发/设计人员应当知道的15个网站_相关技巧-web前端开发技巧"> 在进行网站设计的时候,开始步骤的其中一项(也是最重要)的内容是选择出一个配色方案. Color Combos让你可以浏览上千个不同的颜色组合,以便从中为你即将开始的设计汲取灵感.其配色方案可按颜色浏览. LIpsum 风靡之至的Lorem Ipsum文字,其大名谁人不知?哪个不晓?(译注:查了才知道,这是指一篇用于测试排版设计的拉丁文文章,从15世纪开始就被广泛使用,文章因以Lorem Ipsum

对Web开发人员有用的8个网站小结_相关技巧

1. Min.us: 上传图片的最简单方 开发人员有用的8个网站小结_相关技巧-web前端开发培训小结"> 任何开发人员.设计师.网络管理员都必须跟客户和同事在线分享图片.Min.us的全部服务就是让你极度简单地上传图片:只需把图片拖拽到Min.us的网页里,图片就会保存在服务器上.并且自动生成短网址,这样你就可以通过这个网站分享图片了. 访问Min.us 2.Wirify:把任何网页转换成线框图 设计网站时线框图非常有用.Wirify是一个可以把任何网页立刻转换成线框图的书签工具,这样你