犹他大学编码设计环节基础技巧讲解
发布日期:2024-07-03 03:32:40 浏览次数:
许多编程课程都要求学生必须完成的编码项目。对于那些没有经验写长程序的人来说,这些项目可能相当令人生畏。项目还需要考虑到一些测试用例。这篇文章为大家带来犹他大学编码设计环节基础技巧讲解。
1.仔细阅读规范
你的作业会有某种描述你正在构建什么的规范。确保仔细阅读此规范。如果你收到的是PDF格式的,试着先打印出来再阅读。你可以在规范中突出一些重要的部分,对我来说,纸质纸张更容易阅读。规范是你的指南,你希望在开始之前确保你完全理解它们。
2.先草稿,后编码
阅读规范后,你会对你的要求有一些想法。对于许多学生来说,很诱人直接跳到他们的IDE或文本编辑器中开始编码。我想强调一件事。
3.不要做的事
如果从这篇文章中你能记住一件事,那就是这一点。你不应该立即跳到编码。拿出一张纸,起草你的程序。如果你有iPad或数字记事本设备,请创建一个新的记事本,先随便写下你的计划。
为什么要这么做呢?因为编码实际上并不是关于代码的。这更像是系统设计的艺术。编程项目就像建筑项目。你不想在没有蓝图的情况下建造建筑物。
我太多次看到人们无目的地编码,只是在中途卡住,因为某些东西出了问题。这就像试图用木头建造摩天大楼,只是后来才意识到有一个高度限制。
这是我在计划代码时考虑的一些事情:
我将使用哪些数据结构?哪一个最适合这项工作?
A函数会如何工作?B?C?它将使用什么算法?
数据的期望流程是什么?
我接受什么输入,输出什么?
我是否应该将变量和函数封装在类中?或者这是不必要的吗?
我如何处理内存分配?在哪里创建堆中的新对象?
我是传值还是传引用?
相信我,当我说这个时,你会想先计划再采取行动。你会在开发经验中看到明显的改善。
4.编写模块化的代码
我上面提到编码主要是系统设计的艺术。我仍然认为这是真的,但这并不意味着你免于编写糟糕的代码。当你编写丑陋、难以阅读和难以维护的代码时,你只是在自欺欺人。
风格是个人选择,我不是一个会批评别人品味的人。然而,有一些做法是你应该遵循的,这有助于你自己。
其中之一是编写模块化的代码。这意味着尽可能抽象掉尽可能多的代码。这也与DRY(不要重复自己)原则有关。如果你发现自己写了很多重复的代码,你可能想考虑将其抽象为一个可以稍后重复使用的函数。这样,你的代码变得更容易阅读,调试也变得更容易。
5.确保知道如何使用调试器
这将为你节省大量时间。我知道很多人默认使用打印调试,我也有此罪过。如果你不熟悉它,打印调试是一种技术,你会在代码中的某些区域插入打印语句,其中你认为可能发生错误,或者在代码的某些点打印出变量。打印调试在需要进行一些快速的合理性检查时很有用,但效率不高。在你的学生生涯中,你可能能够应付过去,但我强烈建议你学会使用调试器。以下是一些建议的原因:
你的代码会非常、非常快速地变得非常混乱。
如果你的代码输出到命令行或文件,打印调试将破坏你的输出,使其变得耗时阅读和检查。在终端中滚动不是最好的使用你宝贵时间的方式。
如果你想通过打印调试检查容器中的项目,你需要循环遍历容器并打印出每个项目。这很丑陋。
有时你需要检查内存地址和堆栈,调试器将为你完成这项工作。
有时你只是希望能够在变量的生命周期内跟踪它。调试器可以帮助你做到这一点。
如果你使用的是Visual Studio Code,我建议你学会内置的可视化调试器。这是一个非常易于使用的调试器,可以为你节省大量时间。在学会如何使用调试器后,我发现我的调试错误能力有了明显的提高。
6.明确列出可能的错误向量
还有一个调试提示。当你编写代码时,你需要停下来思考可能发生的错误。例如,如果你的代码将项目插入到数组中,你需要承认与索引有关的可能错误。如果你正在使用指针,你总是要确保它被删除,并确保你没有试图在堆中双重释放内存或使用悬挂指针。我将很快制作一个关于指针的教程,所以如果你还不理解这些,不用担心。
关键是,如果你等到最后才检查错误,你需要滚动几百行代码才能找到可能发生错误的地方。如果你列出可能的错误点,那么你识别它们就容易得多。
诺藤教育留学生作业辅导服务全面升级啦!
⏩试听课全面升级,不满意退50%,
⏩辅导不满意可以随心退!
我们根据学生的辅导需求匹配背景相符的专业老师。1V1个性化备课,双语教学,实时辅导。老师讲解相关知识点和解题思路,提供大型作业任务的解决方案,辅导计算机编程语言操作,教授学生高效完成PPT和演讲稿,针对性解决留学生各类作业中遇到的困扰,提高作业成绩!