一. 简洁性较少代码数量
在决定对软件做出改变的时候,大多数工程师会马上行动。刚开始的时候,工作会很简单,但是随着项目的发展,对代码做出改变会变得越来越困难。究其原因,主要就是因为积累了太多代码,代码变得越来越复杂。随着软件的活动件越来越多,软件的维护就会越来越难,潜在的bug也越来越多,构建和测试的时间也会越来越长……在这样的代码上工作,无可避免的会加大工程师的工作难度。
“我没有时间写短信,所以我就写了一封长的。”
— Mark Twain
使用更多的代码,通常是懒人的解决方式,而并非最优的解决方式。你应该用更多的时间去寻找更简单的解决方式,最好能让代码的数量变少。
二. 经验减少代码数量
我认为,一名软件工程师会经历一下三个阶段:
1.在深渊中挣扎。我们都经历过这个阶段。尤其是在刚入行的时候,这个时候你要尽可能多的吸收知识。你想要自己做出正确的事情,但是由于缺少经验,以及由于时间上的压力,你很难写出高质量的软件。你会犯很多的错误,而这些错误正是你学习的手段。最理想的情况下,你身边会有很多经验丰富的工程师,他们能给你提供支持和指导。
2.自以为是阶段。在这个阶段,你会觉得自己已经掌握了软件的堆栈、语言或是框架。你在这个时候能够做出不多的软件,而且倾向于编写大量的代码,而且里面有大量的“神奇代码”,或是与一般的编程方式背向而驰的代码,因为你会觉得“我的代码编写方式更好”。或许每一个开发人员都曾经犯过这样的错误,我们甚至会觉得自己已经不再需要继续学习新东西了。反正我自己就曾经很多次的犯过这样的错误。
3.成熟阶段。当你在回顾以前所写的代码的时候,如果你有这样的想法:“我怎么会把代码写的这么复杂?完全没有必要啊。”或者“我之前怎么没去查查其他人都怎么解决这个问题呢?”,那么这意味着你已经理解了软件工程师都会犯的那些错误,度过这个阶段,你就能够做出更好的解决方案了。
“程序是给人写的,要让人能读懂;能被机器运行,只是程序的附加属性。”
在我看来,人们对于软件工程最大的误解在于,很多人将软件工程师视为代码机器。他们认为写代码是我们最重要的工作。人们给软件工程师抛来一个问题,我们能够写下解决这个问题的代码。但是这种理解并不正确。我们的工作是解决软件问题,让软件达到一定的质量和可靠性,让它可以满足工作环境的需要。而这个过程中,写代码并不是我们唯一要做的事情。代码编写其实像是一个粘合剂,将我们的经验和知识连接在一起,但是它并不是我们所关注的最重要的事情。
三. 深刻的理解减少代码数量
在编写和维护软件的过程中,最糟糕的副产品是什么?大多数人会说是“技术债务(technical debt)”。技术债务有很多种表现形式,但是其中最主要的,与源代码有关。我想要强调,不仅仅是那些写的不够好的源代码会产生技术债务。标准、框架、甚至是语言,都有可能随着时间的推移出现变化。那些在某一个时间段下写的非常好的代码,在过了几年之后,也很有可能变得不可用,或是兼容程度不够高,从而需要软件工程师对其进行大规模的重构。
如果你有着几年的编程经验,你一定有过类似的经验,在回头看自己几年前写的代码时,你会发现这些当时写的非常好的代码,如今需要你重写。对于许多软件工程师来说,寻找最佳的技术解决方案是我们的天性,也是我们热爱这一行的原因。几年前的你对于技术和代码认识还不够深刻,而几年之后,随着你的理解逐渐加深,在解决同样的问题的时候,你将会写出更好、更简单的代码。
改写代码从来就不是一件容易的事情,无论是在代码编写的过程中,还是在代码已经完成之后。即使那些写的最好的代码,到了未来的某一个时段,它都会变成技术债务。在代码写完几年之后,未来的工程师(甚至是你自己),在理解这段代码的时候都有可能遇到困难。
沟通是关键。不仅仅是工程师和非技术人员之间的沟通,还包括工程师之间的沟通。如果你能找到一种可以解决同样的问题,但是对代码数量需求更少的解决方式,那它就是更好的解决方式。
总结
从某种意义上看,人们对于软件工程师的要求,就是要打破自己的直觉和自然反应。也许吧,但是作为一名软件工程师,最重要的东西,就是“KISS(Keep It Simple, Stupid)。
我知道我在这篇文章中说的可能有些夸张了。对于一名软件工程师来说,很难在每天的工作中只写少量的代码,但是请记住,代码数量少,出错的可能性就更小,而且未来的维护工作也会更少。
为了帮助学员能找到更好的工作,节省学生找工作的时间成本,信狮教育特邀深圳零壹云医科技有限公司来校现场招聘运维工程师和前端工程师。
2017年的高考就要到来了,又将是一年的毕业季的来临,想想自己2015年从北大青鸟信狮教育软件开发专业毕业三年了。高考也许是一次改变命运的
7月13日,作为北大青鸟资深合作伙伴,信狮教育总经理、总校长金雨先生与北大青鸟总部老师一起走进了云南盐津,一同开展北大青鸟施爱·助学
经过主持人竞选,参赛选手预报名、海选等一系列准备工作后,北大青鸟深圳信狮学校的学生们于9月20日迎来了《信狮最强音》K歌比赛预赛,本次
经过专业老师的辛劳培育以及学生们的认真学习和努力拼搏,北大青鸟信狮教育1T161班的项目答辩,可谓是一场精彩纷呈的“博弈”。
如何才能成为一名高逼格的网络营销人才呢? 如今的企业对互联网甚是依赖,就连营销阵地都转移到了网络上,尤其是移动互联渐渐崛
北大青鸟IT教育作为中国IT职业的领导品牌。其品牌性已经得到社会和媒体的认可。IT职业教育的衡量标准有两点:一是培训内容,二是教学
北大青鸟信狮教育ACCP学员专访:高中生的逆袭。林友明,一个喜欢笑,却笑得有几分羞涩的大男孩。23岁的他,一年前还是一名工厂
北大青鸟学费是由北大青鸟总部统一规定的,不会出现乱收费和打折的现象,大家不必担心会乱收学费,外地校区和深圳地区的学校会存在一定的
现在在美国已经有超过90%的企业在利用互联网开展营销业务,全球互联网在网上的交易额2000年突破2230亿美元,预计2014年,网络贸易额占
姓名:易*斌 学历:中专 年龄:32岁(就读时24岁) 毕业时间:2010年9月 入职企业:深圳市*狐科技有限公司 职务:运维主
不知不觉中,一年半过去了,而我完成了人生中的一次跨越,一次职业的转换,并找到了一个全新的自我,一个充满激情与勇于面对挑战的自我。
时光飞逝,转眼之间我已从北大青鸟信狮教育毕业,看一看现在的自己真的感觉很是欣慰,我现在取得的成就,不仅归功于自己的努力,更要感谢信狮教育的老师们对我就业的帮助及指导,使我
姓名:陈*同学学历:高中年龄: 25岁入职企业:软*动力信息技术(集团)有限公司职务:Java软件工程师薪资:16000元 月企业介绍:软*动力信
姓名:石柱年龄:19岁学历:大专就职企业:深圳市网合科技有限公司就职岗位:Java软件工程师就业薪资:4000元公司简介:深圳市网合科技股份
拿高薪 进名企 梦想马上go IT培训我们更懂 主流技术+项目实训+就业服务一站对接
北大青鸟深圳信狮校区“大学生们实训直通车”,整合了嘉华讲师资源,由实战型讲师、教质主任、职业规划师、就业指导四环相扣,在大学生IT培...
社会是残酷的,尤其是职场竞争,不进则退,不想被长江后浪拍死在沙滩上就要让自己去学习、充电。学什么技术有前景?学什么技术发展好?JAVA...
学历不高想找高薪又轻松的工作,想学一个技术但不知道学什么好?几乎许多女生都有这个疑问,目前薪资高发展好的IT行业,真的不适合女生吗?...
你是否想创业?但是感觉无处下手 你是否开过淘宝店?但是销量惨淡 你是否参加过淘宝培训班?但是感觉里面的内容都华而不实 金蛛电子商务 一...
广东省教育考试院通报,继2013年成为高考大省之后,2014年广东普通高考报名人数达75.6万人,同比再增2.6万人,增幅为 3.6%,创历史新高。而...
网页设计包含了网页图形设计、界面设计、编写标准化的代码和专有软件、用户体验设计,以及搜索引擎最优化
在这个互联网时代,发展迅速的行业当属IT行业,现在人们可以说时时刻刻都离不开了互联网,在网上订张火车票、出去唱K买张团购卷、没事玩的...