软件工程师的成长

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

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

一、热爱并且坚持

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

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

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

二、积累知识

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

三、职业规划

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

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

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

代码复审:

复审对象:谢振威

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. 6、JUC--同步锁Lock

    显示锁 Lock  在Java 5.0之前,协调共享对象的访问时可以使用的机 制只有 synchronized 和 volatile .Java 5.0 后增加了一些 新的机制,但并不是一种替代内置 ...

  2. oracle数据库flashback系列--闪回数据库在dataguard中的使用

    很多人在学习flashback database这个oracle技术的时候,都会有一个疑问,就是如果我只有一个数据库作为生产库的话,是否有这样的业务需求导致我们要把数据库闪回到以前的时间点?以及这样做 ...

  3. 使用docker-compose运行Django

    1.新建空目录 2.进入该目录新建Dockerfile文件,并在该Dockerfile文件添加如下内容 FROM python:3 ENV PYTHONUNBUFFERED 1 RUN mkdir / ...

  4. python+selenium+chrome driver 64位环境配置

    新换了电脑,重新配置下环境,备忘下 1.python2安装 https://www.python.org/downloads/release/python-2714/ 下载64位Windows x86 ...

  5. C内存管理相关内容--取自高质量C++&C编程指南

    1.内存分配方式 内存分配方式有三种: (1)从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. (2) 在栈上创建.在执行函数 ...

  6. cloudstack的虚拟机arp -a时网关的mac地址 都是Incomplete

    定位ARP攻击源头和防御方法 主动定位方式:因为所有的ARP攻击源都会有其特征——网卡会处于混杂模式,可以通过ARPKiller这样的工具扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可 ...

  7. php实现远程网络文件下载到服务器指定目录(方法一)

    PHP实现远程网络文件下载到服务器指定目录(方法一) <?php function getFile($url, $save_dir = '', $filename = '', $type = 0 ...

  8. C51中的关键字和ANSIC标准关键字

    C51中的关键字和ANSIC标准关键字 作       者:武力戡乱 修改日期:2017-09-05 备       注: 1.总备注信息 2.联系方式 3.其它博文链接:武力戡乱博客目录总表 内   ...

  9. 深入解析Java中的装箱和拆箱

    自己主动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题.本文先讲述装箱和拆箱最主要的东西,再来看一以下试笔试中常常遇到的与装箱.拆箱相关的问题. 下面是本 ...

  10. 翻译 | The Principles of OOD 面向对象设计原则

    本文首发于vivo互联网技术微信公众号 https://mp.weixin.qq.com/s/Q_pziBUhKRywafKeY2T7YQ 作者:Robert C. Martin 翻译:张硕 本文由来 ...