你的代码水平停留在几年前?

栏目: Java · 发布时间: 6年前

内容简介:互联网是一个飞速发展的领域,程序员如果跟不上时代很容易被淘汰。我相信每个程序员都有一段迷茫期,技术发展这么快,到底应该学习什么技术?

你的代码水平停留在几年前?

互联网是一个飞速发展的领域,程序员如果跟不上时代很容易被淘汰。

到底该学什么技术?

我相信每个 程序员 都有一段迷茫期,技术发展这么快,到底应该学习什么技术?

刚开始学javaweb的时候,我们都学过ssh,但是现在再来看,struts基本白学了,hibernate差不多也没用了,只有spring是收益最高的。

我相信很多学web编程的人还学过vbscript,现在来看基本也没有什么用了。

与此同时,我们还要学习很多新技术。

运维人员以前只要会点Linux shell就行,现在必须会docker,k8s。前端人员以前会点jquery就行,现在必须会node,react等。

互联网发展的淘汰的速度如此之快,我们昨天还在拼命学习的东西,今天就没人用了,那么到底应该学什么?怎么学习?

你的代码水平停留在几年前?

谈谈我的几个观点。

第一、颠覆性技术出现,一定要跟进。不一定要精通,但是基本的了解一定要有。比如最近出现的区块链、AI这种新的领域,还有在老的领域中的新技术,比如前端的webpack、mvvm,后端的spring cloud、 docker 、k8s等。你需要去了解这些技术,并且弄明白它为什么火,而其他技术为什么没落了。

第二、不要只关注共性,主要研究新技术独特之处。比如很多学后端的是c出身,后来学习java,这时候应该把重点放在虚拟机,接口上面,而不是数据类型,控制语句等。再学习node的时候,应该注重单线程模型,回调处理。再学习 go 的时候,注重goroutine并发。如果学了4种语言,都只能写点helloworld,ifelse,其实和只学一种没有区别。

第三、基础知识要深入研究。第二条讲的是学习新技术的时候要研究新技术的特别之处,但是并不意味着基础就不需要研究。相反,很多地方都用到的基础知识,一定要刨根问底。比如我们在写web前端、web后端、配置nginx时,都绕不开http和https协议。所以http和https作为几项技术基础就有必要深入研究。

你的代码水平停留在几年前?

但是懂得很多语言,知道很多技术,不一定能写出高水平代码。

代码水平如何衡量?

我很多时候都在想什么样的代码是好代码,什么样的系统是好的系统。

一个完全没有bug的系统是不存在的。我想一个好的系统是可调试的,可扩展的,可配置的,好的代码是可读的,鲁棒性强的,松耦合的,可测试的,可以快速定位的。

可以运行,没有故障的系统肯定是好的系统。但是没有故障几乎是不可能的,我觉得好系统的另一个指标就是出故障了能够快速找到问题代码,并且能够快速进行故障恢复。

而我们在设计系统或者写代码的时候就要考虑这些因素。

好的代码其实很多时候就取决于写代码那个人的代码素养。

什么是代码素养?

你的代码水平停留在几年前?

很简单的一个数学问题,4的平方根 是多少?有多少人会回答2呢?

写代码也是一样,很多人都只会考虑一种情况,这其实不是智商也不是能力问题,只是考虑问题的时候是否严谨。

而当你告诉他这个地方需要判空,那个地方需要加try catch的时候,他往往不以为然,觉得这只是一时没考虑到而已。

很不幸,这种素养很难短时间内养成,而这种没有代码素养的人,写大项目或者复杂系统,写出来的代码将是灾难。

就像一堆沙子,你把水倒进去,你根本不知道哪里在漏水,但是到处都在漏水,水一下子就没了,你只能推翻重写。而好的代码应该像一块铁板,水倒上去滴水不漏。

代码素养只能靠平时慢慢积累,多看别人是怎么处理细节的,自己写完代码后多想想testcase,多多测试。

代码水平绝对不是会多少种语言,会多少个框架。而是你在写代码的时候的种种思考,对细节的处理,对各种情况的判断,代码的清晰程度等等。

所以,你的代码水平有提升吗?

【责任编辑:庞桂玉 TEL:(010)68476606】


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Design for ROI

Web Design for ROI

Lance Loveday、Sandra Niehaus / New Riders Press / 2007-10-27 / USD 39.99

Your web site is a business--design it like one. Billions of dollars in spending decisions are influenced by web sites. So why aren't businesses laser-focused on designing their sites to maximize thei......一起来看看 《Web Design for ROI》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具