软件工程师的成长

一口气看完了十多篇的博客,心里的感觉五味陈杂。既有对未来道路的憧憬,也有对自己目前水平的无力感,与那些在这个领域打拼十几年甚至几十年的前辈相比,我不过也就是刚刚迈过行业门槛一条腿而已,前路尚长。

这么多的博客,也许关键词就是两个:热爱并且坚持、积累知识以及职业规划

一、热爱并且坚持

这些博主们,无论起点高低,只要最终功成名就的,都有一个共同点就是对计算机的热爱以及坚持。他们对于技术的坚持让我触动:这些人里,有的即使老师毫不靠谱上课讲的全无用处也可以坚持自己学习;有的人从小学就开始了专业学习然后一路遥遥领先;有的身处英文专业还能坚持对于计算机的热爱。

与他们之中的有些人相比,我算是幸运的,虽然没有从小身处那样专业的环境里面,也许一定程度上算是落后吧,但至少我是科班出身,不用忍受所谓的“针对野路子的歧视”,至少不也用每天绞尽脑汁跑到老师那里才能用上电脑。而且我也对技术拥有同样的热情。

不过这也不代表光有热情对我就够了,有一篇文章的备注是“光口头上说 “热爱” 是远远不够的”,虽然这篇文章并不能打开,但是仅仅是标题就足以触动我,某种程度上来说,我就是那种说的比做的多的人,总会想的很好,落实起来则经常会有较大的困难。同样,他们也给我了解决办法,那就是坚持,也许当我迷茫的时候,坚持做下去会是比原地等待迷茫思考更正确的选择吧。

二、积累知识

这一点是很多篇文章都专门强调的内容,基础知识十分重要,并且读书非常的有用,即使上课觉得没有用,也不要就让时间白白浪费掉。就算上课有用,覆盖面也不会太广,教科书之外的东西也没有人教,正所谓“师傅领进门,修行在个人”这一点其实我早就有所意识到了,单也仅仅停留在意识到的层面而已。知道各种竞赛很锻炼人,直到有些书非常好应该读一读,但是落实下去则有很大的困难。想想总是比做做更加的轻松。这一点也应该是我接下来所要改善的重点的重点。

三、职业规划

成功的人无外乎都有清晰的职业规划,即使与自己当前的环境相矛盾,但仍然有清晰的前进方向,这一点也是我需要学习的。例如那个英文专业的前辈,身处英文的环境,英文对他来说也不过是用来更好的学习计算机的途径而已,这一点是让人相当佩服的。而且软实力也是被强调了很多次。并且。未来我们不应该追求工资,职位,而应该追求能力以及经历,工资以及职位不过是它们的附属品。

我呢,虽然蛮早就有了对于计算机的兴趣,但是真正入门也是在大学才刚刚开始。进入大学以来,眼界可以说是得到了极大的提升,很多周围的人和事不断的刺激着我,让我渐渐有了野心,有了梦想,总想着自己有一天也会成为多么牛逼的人物。虽然有着看似伟大的抱负,但却有心无力,实力支撑不起梦想。与周围的技术大牛们相比,我的火候差的还远。对我来说,无论是哪个方面,周围都可以找到在那个方面碾压我的人,无力感对我来说一点不陌生。既然不能放弃,那么脚踏实地的努力提升自己的实力才是我现在阶段最应该做的事情。

未来希望以技术起家,拥有很厉害很厉害的技术,而且不仅仅是技术,其他方面也可以很厉害,以后可以拥有自己的事业。现在所做的事也都基本上是以这个为目的的。

代码复审:

复审对象:谢振威

Code Review Checklist

General

Does the code work? Does it perform its intended function, the logic is correct etc.
是的,基本功能都已经实现,并且采用了面向对象的思路设计,已经经过之前的20个测试样例的测试

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.
基本符合,一些变量名的命名习惯与我不太一样但是都比较好理解

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?
没有,两个函数的返回值都是void

Are invalid parameter values handled?
有,命令行参数可以处理错误形式

Documentation

Do comments exist and describe the intent of
the code?
有文件,主要说明了地图格式,没有对于整个软件使用的说明

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’?
代码都已经完成,所以也不需要标注”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?
没有测试

Week3_代码复审的更多相关文章

  1. 个人作业week3——代码复审

    1.     软件工程师的成长 感想 看了这么多博客,收获颇丰.一方面是对大牛们的计算机之路有了一定的了解,另一方面还是态度最重要,或者说用不用功最重要.这些博客里好些都是九几年或者零几年就开始学习编 ...

  2. 结对项目:代码复审+PSP

    一.代码复审        首先我从代码风格规范和程序修改两方面进行审查. (一)代码风格规范修改 1 . 代码的部分未缩进:在用markdown粘贴代码时,需要后期tab,无形中加大工作量. 2 . ...

  3. 作业三: 代码规范、代码复审、PSP

    分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能 ...

  4. 个人博客作业week2——代码复审

    1.代码规范 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 代码规范并不是从官僚制度下产生,它是为了提高项目团队开发效率而产生的一种工具,能够极大的增强代码可读 ...

  5. 作业三:代码规范、代码复审、PSP

    一.代码规范 我认为我们编写的代码都需要进行规范的操作,因为如果为了图省事情或者为了减少时间去完成这个编程.在最后检验的时候就会出现一些警告,导致你这次编程的代码出现问题,当出现问题的时候你在回头去检 ...

  6. 作业三(代码规范、代码复审、PSP)

    1.代码规范: 我支持代码要有规范,理由如下. (1).艺术是一个很带有个人风格的学科,天马行空才能凸显出自己的价值.但不要忘了,会艺术的不是生下来就会艺术, 他也需要按照前辈的步骤一步一步的学习基础 ...

  7. 代码规范、代码复审、PSP

    作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作  一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...

  8. 作业三 代码规范 代码复审 PSP

    1.是否需要有代码规范(5分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 1这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反对.我并不认为代码规范都 ...

  9. Week3 博客阅读感想和代码复审

    一.关于博客阅读感想 阅读了十多篇老程序员(大多在计算机相关行业工作超过10年)关于自身经历的博客,很有感触.这里一方面总结一下看博客的收获,另一方面写点自己的感受. 首先,这些博客不少涉及到了两大类 ...

随机推荐

  1. windows下一根数据线玩转树莓派zero(w)

    买了个树莓派zero w,想着用一根普通micro数据线达成 供电+ssh+通过usb共享网络+远程桌面 的目标 通过用静态ip免去了用benjour的连接不稳定方法,下面开始细说 需要的硬件: 树莓 ...

  2. TDD&BDD

    BDD行为驱动开发的一种敏捷开发技术 TDD测试驱动开发

  3. lambda函数详解

    lambda函数的作用就是可以编写内嵌的无名函数,而不必写成独立的函数: 结构:[]为开始,(参数){函数体} 例如: 1. auto lambdaFun1 = [](int a) {std::cou ...

  4. Node.js实战(三)之第一个Web服务器

    这次的示例同样也可以说是HelloWorld,只不过不同的是这是web服务器示例. (1)编写web.js,内容如下: var http = require("http") fun ...

  5. undefined symbol: ap_log_rerror;apache2.4与weblogic点so文件

    没法子啊:只能用 httpd-2.2.26 ============================== https://www.google.com.hk/#newwindow=1&q=un ...

  6. HDU2552 三足鼎立 【数学推理】

    三足鼎立 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  7. 2017-2018-2 20155315《网络对抗技术》Exp8 :Web基础

    实验目的 理解HTML,学会Web前端.Web后端和数据库编程及SQL注入.XSS攻击测试 教程 实验内容 操作程序规律 运行脚本或可执行文件 查看配置文件 出错找日志 Web前端HTML 能正常安装 ...

  8. MFC CTreeCtrl控件

    知识点: 认识CTreeCtrl CTreeCtrl控件属性 CTreeCtrl添加根项 CTreeCtrl添加子项 一.CTreeCtrl控件属性 先设置CTreeCtrl的属性: Has Line ...

  9. [APIO2015]巴厘岛的雕塑[按位贪心+dp]

    题意 给你长度为 \(n\) 的序列,要求分成 \(k\) 段连续非空的区间,求所有区间和的 \(or\) 最小值. 分析 定义 \(f_{i,j}\) 表示前 \(i\) 个点分成 \(j\) 段的 ...

  10. jvm系列(八):jvm知识点总览

    在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功.对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后 ...