成长之路:
我是从大学才开始接触编程的,在此之前,我对于计算机科学没有任何概念,只知道可以经常玩电脑所以选择了这门专业。
上了大学之后,一开始我还是很不理解这门学科的意义,上第一节C语言课的时候,我看着那一行"Hello World“,只觉得真丑,这和我脑海里计算机炫酷的形象很不符合。后来我真正感受到计算机科学的魅力是在机组实验的时候,将一个个的门电路搭建成一个有我很多心血和构思,最后看起来还蛮不错的CPU,简直成就感十足。可以说之前我只是将计算机做为一个任务,而这时候起我开始对它感兴趣,想主动去学。之后我开始学习一些书本之外的知识,也自己写过几个小游戏,不过还是没花太大的功夫。我看了几篇别人的经历,发现一个共同点,就是他们很刻苦,有过一段时间疯狂地学习,写代码,这段时间让他们进步神速,我希望我也能沉下心来好好写代码。
现在我已经能确定自己很喜欢这个专业,可以长久地在这条路上奋斗下去。
以后我希望读研再学习一段时间,然后去一家比较好的公司写代码。
代码复审:
测试用例:
Project1.exe -b 苹果园 天宫院
Project1.exe -c 苹果园 天宫院
Project1.exe -c 2号航站楼 3号航站楼
Project1.exe -c 火器营 苏州街
Project1.exe -c 东单 天宫院
Project1.exe -b 东单 天宫院
Project1.exe -c 六里桥 三元桥
Project1.exe -b 六里桥 三元桥
Project1.exe -c 2号航站楼 南锣鼓巷
Project1.exe -b 2号航站楼 南锣鼓巷等
发现Bug:
测试Project1.exe -c 2号航站楼 南锣鼓巷时,出现错误,以下分别为正确和错误结果。
代码复审的对象是杨金键。
- Is all the code easily understood?
- 不是太好理解,代码有点太长了。
- Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length, indentations, formatting, and comments.
- 变量,函数的命名基本符合规范,比较方便理解他的意图。在使用大括号的习惯方面略有不同,我的习惯是即使大括号内只有1行也需要大括号,而他相反。
- Is there any redundant or duplicate code?
- 有一些多余的代码,这导致他的程序这么长。
- Is the code as modular as possible?
- 还不错。一个函数有对应的功能,而且还使用了类。
- Can any global variables be replaced?
- 全局变量很少,而且是必需的。
- Is there any commented out code?
- 有一些。
- Do loops have a set length and correct termination conditions?
- 有。
- Can any of the code be replaced with library functions?
- 个人认为没有。
- Can any logging or debugging code be removed?
- 没有。
Security
- Are all data inputs checked (for the correct type, length, format, and range) and encoded?
- 能处理不正确的地图格式并对不正确的输入报错。
- Where third-party utilities are used, are returning errors being caught?
- 没有。
- Are output values checked and encoded?
- 是。
- Are invalid parameter values handled?
- 是。
Documentation
- Do comments exist and describe the intent of the code?
- 有ReadMe。
- Are all functions commented?
- 没有。
- Is any unusual behavior or edge-case handling described?
- 没有。
- Is the use and function of third-party libraries documented?
- 没有。
- Are data structures and units of measurement explained?
- 没有。
- Is there any incomplete code? If so, should it be removed or flagged with a suitable marker like ‘TODO’?
- 没有。
Testing
- Is the code testable? i.e. don’t add too many or hide dependencies, unable to initialize objects, test frameworks can use methods etc.
- 是。
- Do tests exist and are they comprehensive? i.e. has at least your agreed on code coverage.
- 没有。
- Do unit tests actually test that the code is performing the intended functionality?
- 没有。
- Are arrays checked for ‘out-of-bound’ errors?
- 有些没有。
- Could any test code be replaced with the use of an existing API?
- 没有。