我是一个冷门程序员,属于非常规程序员,与大多数程序员的研究方向不一致,可以说是逆向思维.
我不会去刻意的研究一个对象或者一个框架的实现原理,我只需要知道它使用的技术有哪些,能实现哪些功能,需要注意什么,怎么使用就可以了,接下来去研究其它的框架或编程语言,查看其它的相关技术,久而久之,知识面就广了,对一些设计思想的了解也提高了.见识多了,对问题的判断,编写代码的方式就会改变.对整体的理解也提高了,万众编程语言,离不开1和0,离不开加减乘除,所以很多软件/框架/工具包都是有共同点.
所以我们写代码时,不管是什么语言,要想的不是我们要用哪些包,用什么框架.而是我们需要怎样的功能,需要什么技术,然后再去找方案,你就会发现很多以前没注意过的,所以有些东西根本不需要记住,发展了这么多年的语言,你想得到的,别人也可能会想到,所以我们只要清楚需要什么功能就可以了,很多知识是百度/必应/搜狗/google一搜就出(善于搜素也是一种能力),不需要太刻意的去记,如果实在没有找到,那就自己创造.
我擅长处理问题,擅长分析代码质量,可能因为我的逆向思维吧,有些代码我能一眼看出会出bug,因为我记的是这个类是做什么用的,缺点是什么,需要注意什么,而你们是去记这个类的实现原理作用等,太多的信息容易让人忽略它的其它信息.int num=0; 是整数做访问计数显示在页面上没毛病,但是作为最大值只有21亿的类型来说,会出现计数被重置的风险
- 以HashMap为例
常规程序员是去学习研究这个对象的实现方式,它的原理.
而冷门程序员只需要了解怎么使用他,了解他的大致优缺点就可以.因为在不满足需求的时候会去找替代品,如果需要有序的map,那么google下找到LinkedHashMap使用就可以了,如需key不区分大小写就用CaseInsensitiveMap,在找不到替代品的时候才会去研究这个对象
- 以spring Eureka为例
大多数程序员会去研究怎么实现的 ,他的实现原理
而冷门程序员只需要大致了解这个框架能用在什么地方,有什么作用,然后对这个框架使用方式进行深度挖掘,能不能实现其它的功能
既然这个注册中心显示了所有可用的服务,就有办法获取他的所有服务,然后进行遍历这些服务动态执行这些服务的功能.能实现这些功能,那么可用的地方就多了:发布一个商品搜索服务专用的注册中心,京东商城,淘宝,唯品会都按照这个接口标准来注册服务,查询模块就能将不同来源的商品汇总起来