对于刚刚踏入社会不久的开发人员,感受到真是企业项目的开发流程和规范以后,可能不少都在感慨:学校学的和工作用的差别很大,学的都没有用。
确实,高级语言的软件从业者而言,准备门槛并不高,甚至进行为期几个月的培训班就可以培养出一个能参与到项目开发的从业者。行业内常用搬砖来形容写代码,因为很多的工作都是在已经搭建好的框架下,按照既定模式,不断的去复制出代码然后稍加变更就能实现对应的功能。差异主要是在数据的字段差异上,数据的增删改查都是已定模式。一个系统的开发,肯定是不允许每个开发人员都定义一套自己的数据处理代码,更多的是使用通用的数据处理逻辑。同时,很多的技术问题,都是去百度一下,就能找到各式各样的解决方案,选取其中一个能解决问题就行。这就是造轮子和用轮子的理论,尽量去使用别人已经造好的轮子,而不是每个轮子都自己去造一次,既浪费时间,又不一定能比别人的轮子更优。那么,是不是意味着,开发人员只用会复制代码和百度就可以了呢?
对于一个初级开发而已,能够复制代码和百度问题,基本是够用的。但是如果是想在技术上走得更远,这肯定是不够的,而且只花时间在技术的使用纯熟度上肯定是不够的。相对恰当的一个比喻,技术运用的技巧就如武技,而基础就是内功。如果内功不够,武技运用的再是纯熟,也是不足以写出足够优雅的代码,只是让整个系统的代码显得花里胡哨而又臃肿不堪。只有知其然又知其所以然,才能真实的做到对自己写的每一样代码负责,不会出现代码写完了,功能实现了,却心里没底的情况。
扎实的基础意义在很多方面能够促进技术的真正提升:
其一,良好的基础可以让自己对代码的理解足够深,能够真实的了解每一样代码的意图。在代码的编写过程中,能够尽量减少无效代码,保证代码的良好结构。
其二,可以在选择轮子的时候,在各种解决方案中,辨别出最适合当前项目的轮子。不同的轮子在不同的使用场景效果是不一样的,只用找到最合适的轮子,才能避免再实现功能的同时尽量少带来别的问题。
其三,良好的基础可以加深自己对项目架构的理解,在运用架构的功能时,避免使用错功能而出现未知的风险,在对功能的运用上,实现个性化的微调,而又不会对现有框架造成影响。
其四,良好的基础可以让自己在了解软件其他软知识事起到辅助作用。比如设计模式、项目拆分等。可以更快速的掌握那些周边知识,让技术运用范围和代码的优雅得到更多的提升。
其五,语言到了深处都是相通的,当一门语言掌握的基础越多,理解得就越深,到了理念层面的时候,理念在很多语言都是相通的,只是形式和侧重不同,在各种语言之间切换就会显得更加游刃有余了。
……
还有更多意义就不一一列举了,如果想成为一个真正的在技术上占一席之地的人。实践技巧是必不可少的,但是潜心去研究一些那些基础的东西是决定了在技术这条路上能走多远。不要满足于技巧而要双管齐下,基础的学习总是迈步过去的,而且越早理解这个道理受益越多。
技多不压身,得空多学习学习必定是没有坏处的。
基础决定高度
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...