一定要有镇楼的!我是专业的!!
好的技术不如好的习惯,好的习惯不如好的态度。 --慕冬雪
目前为止两家企业了,A公司、B公司(目前)。
由于进A公司时还是一个新兵蛋子,当时并没有任何经验可谈,写代码完全是按照之前的散漫路子、最多也就是偶尔会Ctrl + Shift + F 一下,写作毫无章法可言。虽然公司有明确的编码规范,但做到的也仅仅只是命名上和注释上。当时糟糕到什么地步呢?这么说:①、一个controller方法中我能写出N个try .. catch块,而且有时候还会try .. catch嵌套,以及各种 If 判断和 If 嵌套(这画面太美,我不敢想了...各位脑补...);②、同一段代码我会写到很多文件中,那时候的我脑袋中还完全没有”重构、优化“这些词,以至于在我来到B公司后,我之前的同事(我的大学同班同学)还会在群里骂我(当时是一个js文件,项目前期写的,后期懒得去优化):东哥,你居然在每个js方法中都写了一遍相同的验证!你个该死的处女座!!
(咳咳~~在下并不是处女座,但确实有点强迫症的感觉)③、(接下来这一个是很严重的问题)因为当时并没有很好的编码意识,碰到问题虽然习惯去跟踪错误源,但是也正是因为这,犯了一个很严重的设计模式编码规则:开闭原则(简单说就是软件实体应当对扩展开放,对修改关闭),以至于引发了一系列的血案。
我是射手座,自认为模仿能力出众,耳濡目染、被各位大牛熏陶后,慢慢的开始有意无意的进行代码优化,包括代码的简单重构、逻辑的优化等等,但仍然会犯一些错误:比如频繁的根据业务创建对象、创建文件,这样说可能想象不出来那个场景,那我换个说法:10个页面,我会创建10个实体对象(其实10个页面的业务不同,但操作的对象是一样的)(此时我仿佛进入了另一个极端:开闭原则嘛!不让我改我加总没事了吧~),结果可想而知,结结实实的被修理了一顿。
............这不是分割线...........
............这不是分隔线...........
............再说一次这不是分隔线...........
直接进入B公司(当前就职公司)话题吧,平常总想不起来写。
因为有过"1年"的工作经验(其实按严格来算不过才4、5个月)了,而且还是在帝都,所以万事都会小心谨慎,毕竟是在“大公司”待过的人,总不能让别人觉得自己很low喽。B公司的项目、编码是非常严谨的(因为是给英国人做项目,多多少少有这么一点意思:好好写、仔细写代码,不能让 英国人挑刺,不能丢中国人的脸,要严谨..咳咳~~)。
既然严谨,那就得举个栗子说说,要不会被打死的,网上不是经常说:没图你说个xx(和谐和谐,不过我真没图可晒...)。
好吧,言归正传:平常写代码时命名变量、声明方法以及操作数据库等等,必须要自查确保没问题后才可以提交上去,而且一切修改都是建立在之前的规范上,操作数据库必须有文字记录等等等等(其实这是很基本的,但之前的公司完全没人整这些啊,我们那时完全都是放养的,现在好了,给圈起来了....)。
2016年1月28日,老大年终找我们每个人分别谈话,给我说了很多,归根结底我给概括了一句话:年轻人,好好干!我们老总也是技术出身,创业7、8年了,老总并没有给我谈什么理想(这一点还是不错滴,俗话说得好:总喜欢谈理想的老板不是个好老板!!!)。此次谈话老板也给我提了一些个“干货”,加上我的个人理解,我觉得有必要谈一下:
业务, 设计,测试, 审查,总结,夯实基础
这是老板给身为程序员的我提的6个标准:
1、业务:作为程序员不能只会写代码,如果只会写代码,那写一辈子也只是个码农。除了代码我们还应该要懂业务流程。接手一个程序后,作为程序员的我们不能第一时间就想怎么用代码实现。而是应该先了解程序的整体业务流程,哪一环该嵌哪一套,哪一套该接哪一环。业务了解透了才能针对业务设计出高效的代码。技能一:Get!
2、设计:这一点可能小伙伴们会不解,为啥子程序员还要会设计?如果说第一条还能接受的话,这第二条的设计又有个啥卵用?程序员会设计了那还要专门的设计干毛?如果你真这么想那我只能呵呵你:粗俗!非常粗俗!狭隘!非常狭隘!!程序员不能只会写代码,懂点设计绝对会对自己的编码能力有帮助。因为我理解的设计不仅仅是前台页面的设计,还包括程序代码实现的设计。好的设计事半功倍,坏的设计事倍功半!技能二:Get!
3、测试:自测:不解释!如果自己写的程序自己都测试不过,那我只能送你三个字:丢人!除了自测还应该主动请别人帮助测试(找闲人测,别傻不拉几的逮着个人就拉过来让人家测,如果真这么做了,我不保证你的人身安全哈!)。为啥要请别人帮忙测呢?没特殊原因,只因为代码是你写的(自己测自己的代码,有时候会下意思的规避错误情况)。技能三:Get!
4、审查:好的代码不是写出来的,是改出来的!如果才能透彻的改掉垃圾代码?审查!除了自查还要“他查”,和第三条一样,请别人帮忙审查(请技术比自己好的人帮忙审查自己的代码,技术还不如自己的都看不懂你写的啥,咋帮你审?)。另:这也是一个偷学技能的机会哟~~技能四:Get!
5:总结:不解释!我tm现在就是在总结!!!技能五:Get!
6:夯实基础:不解释!再好的技能,不练也会忘!平常多复习基础的知识。技能六:Get!
看烦了?好吧,即使你看烦了,我也要写下去(又烦不到我...)
...
...
...
咳咳,先写这些,以后再说。
最后的最后,贴一句我这半年来最大的一个体会:
2016年4月22日 有感:
项目经理和普通员工的区别就是:普通员工想的只是当前的任务如何完成,而项目经理要想的则是当前任务对整体业务有何影响?以及怎么更好的实现业务?--同样是人,因为思想境界的不同造就了层次上的落差。
革命尚未成功,同志仍需努力!
我可以对一个人无限的好,前提是值得。 ——慕冬雪
共同学习,写下你的评论
评论加载中...
作者其他优质文章