提高编程技能的11个建议
提高编程技能的11个建议:
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.由易到难,从简入繁。
如果你的软件复杂,那么我建议你最好先从简单的模块入手。例如,有这样一个项目:请设计一个程序,要求能出现一个跟着鼠标方向走的渐变图形,并且还能根据鼠标滑动速度改变形状。
首先,设计一个正方形,写一段能做到让它跟随鼠标的代码,这样就把运动追踪问题先单独拎出来解决掉了。当然这才是第一步。
接下来,将这个正方形的大小与鼠标的速度相关联,即解决了形状随速度而变的问题。
最后,创建你想要的实际形状,并把这三个组件连接在一起即可。
运用这种方法自然而然地就编写出来了模块化的代码。并且每个组件都有它自己独立的功能。这对代码重用是非常有用的(例如,你完全可以在其他项目中应用第一步骤(用于实现鼠标跟踪)的代码),并让我们的程序更容易调试和维护。
免费领取LAMP兄弟连原创PHP视频教程光盘/《细说PHP》精要版,详情咨询官网客服:
http://www.lampbrother.net
分享到:
相关推荐
通过这些练习,用户可以为即将到来的技术面试做好准备,或者仅仅用于提升自己的编程技能。 其他说明 所有题目均经过精心挑选和验证,以确保它们的实用性和教育价值。用户被鼓励不仅仅解决这些问题,还要深入探索每...
### 内容概要 本博客为初学者提供了一个关于C#编程的全面教程。从C#的介绍和特点开始,逐步介绍了如何学习C#、C#的...同时,博客还强调了学习编程需要持续的努力和实践,鼓励读者积极参与社区和比赛,提高编程技能。
该系统将基于Java编程语言开发,旨在为学生和教师提供便利的学习和管理工具,以提高学生的编程技能和教师的教学效率。 该系统将为学生提供全面的学习资源,包括考试练习、课程资料、视频教程、实例代码等。这些资源...
本文详细介绍了C++常用的编程关键字,包含每个关键字的简要说明,并提供了一个使用这些关键字的示例程序。通过学习本文,您将了解以下内容: C++中常用的编程关键字及其作用; 如何在C++程序中使用这些关键字; 一...
适合人群:本教程适合具有基本R语言编程技能的个人,特别是那些需要在数据分析和报告中处理和展示图像的研究人员、数据分析师和学术工作者。 能学到什么: 如何使用R语言读取和处理图像文件; 利用R语言的图形和...
针对刚开始学习C语言的新手,这里有一套详尽的学习建议和实践技巧,从理解基础概念入手,到逐渐掌握复杂的编程技能和方法。通过阅读他人的代码来提升自己的编程视野,参与开源项目以获得实战经验,再到持续学习最新...
通过跟随博客,读者可以了解蓝桥杯的基本概念、挑战和准备方法,学会如何提高编程技能、团队协作能力,参与相关社区,并为未来的深入学习打下坚实的基础。 ### 其他说明 本博客注重实用性和易懂性,尽量避免使用复杂...
最后,提出了如何提高编程效率的工具和实践,以及如何与他人交流与合作的建议。本文旨在为Python编程学习者提供有益的指导和建议,帮助他们更加有效地掌握Python编程技能,为未来的职业发展做好准备。 关键词:...
博客还提供了ACM竞赛的挑战和收获,如提高编程技能、团队协作能力、国际交流机会和荣誉奖励。最后,强调了加入ACM竞赛社区的重要性。通过这个教程,读者可以对ACM竞赛有一个全面的理解,并为未来的深入学习打下坚实...
这将是一个非常实用和有价值的项目,因为这将让您了解如何在 Java 编程环境中使用计算机图形学和算法来创建具有高质量视觉效果的室内设计图形。 在这个项目中,您将学习如何使用 Java 编写代码来创建具有良好功能的...
通过参与开源项目,您可以学习其他Python程序员的编码风格和最佳实践,还可以向其他人展示自己的编程技能。GitHub是一个很好的平台,您可以在上面寻找有趣的项目,向其他程序员提问或提交自己的代码。 ## 阅读经典...
内容概要: 本资源主要介绍了如何使用Java和Applet技术来开发一个即时通讯工具。内容包括了基础的界面设计,网络通信原理,以及消息的接收和发送等核心...同时,也建议你多做练习,通过实践来巩固和提高你的编程技能。
### 内容概要 本博客为初学者提供了一个关于SQL编程的全面教程。从SQL的介绍和特点开始,逐步介绍了SQL的基本语句,...同时,博客还强调了学习编程需要持续的努力和实践,鼓励读者积极参与社区和比赛,提高编程技能。
以下是一些常用的Linux操作技巧和学习Linux编程技术的建议,帮助你快速入门和提高技能。 ## 常用的Linux操作技巧 ### 文件操作 在Linux上,文件操作是最常用的操作之一。以下是一些常用的文件操作技巧,帮助你更...
练习编码:不仅要阅读问题和答案,还要亲自编写和测试代码,以提高实际编程技能。 准备模拟面试:模拟面试可以帮助您在真实面试中更好地应对问题,所以考虑与同事或朋友一起进行练习面试。 这个资源将帮助读者准备...
### 内容概要 本博客为初学者提供了一个关于PHP编程的全面教程。...此外,博客还提供了学习资源和进阶建议,如官方文档、...同时,博客还强调了学习编程需要持续的努力和实践,鼓励读者积极参与社区和比赛,提高编程技能。
这个资源是一个基于Java编程语言和Swing图形用户界面库...通过认真阅读和学习这个基于Java+Swing的小学数学题练习系统,您将掌握Java编程和图形界面开发的基础知识,加深对数学知识的理解,提高编程能力和数学水平。
编程技能: 学生将通过编写源代码实现各种数据结构和算法,提高自己的编程能力,包括代码设计、调试、优化等方面的技能。 阅读建议: 理解数据结构与算法: 在完成项目的过程中,注重理解数据结构与算法的原理和...