成长之路:

  我是从大学才开始接触编程的,在此之前,我对于计算机科学没有任何概念,只知道可以经常玩电脑所以选择了这门专业。

  上了大学之后,一开始我还是很不理解这门学科的意义,上第一节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?
  • 没有。