华为云社区:
想要成为一名堪称优秀的程序员需要花时间了,而且过程不可谓不艰难——你会不止一次地想要放弃。虽然很难,但这条路上依旧是热闹非凡。众所周知,程序员的资历深浅是跟很多方面都有关联的:知识、阅历、情商等等。但一个程序员要想成长为一个成熟优秀的程序员,这些能力或许能帮助到你。
华为云社区:程序员从幼稚到成熟的过程是什么?他们这样回答
作者:华为云开发者社区
链接:https://www.zhihu.com/question/411824337/answer/1527294428
作为合格的程序员,精通一门语言是必须的。这种精通,不是说看了一本《24小时精通XXX》,抄了几个程序就能说精通的,要靠长时间的积累和动手敲代码。
而且,为啥强调一门语言,主要是怕一些程序员“贪心”,吃多嚼不烂。编程语言虽然有相似的语法,但毕竟是不同的编程语言,之间还是有很多差异的地方。对于初级程序员来说,切勿贪多,先把一门编程语言吃透再说,等你有了融会贯通的本领,再去学新的编程语言也不迟。
现在大部分的程序员都是 Java 语言相关, Java 基础则是走向 Java 高级的必经之路。所以,这里给大家列举一些实际工作中高频次的东西。
(1)基本容器,如:HashMap、ArrayList、HashSet、LinkedList 等,要会用还得了解其中的原理,这样才能在不同的场景选择最优的设计。
(2)IO、NIO。日常开发中大部分是在和磁盘、网络(写日志、数据库、Redis)打交道,这些都是 IO 的过程。
(3)常见的设计模式如:代理、工厂、回调、构建者模式,这对开发灵活、扩展性强的应用有很大帮助。
(4)Java 多线程是非常重要的特性,日常开发很多。能理解线程模型、多线程优缺点、以及如何避免。
(5)良好的单测习惯,很多人觉得写单测浪费时间没有意义。但正是有了单测可以提前暴露出许多问题,减少测试返工几率,提高代码质量。
(6)良好的编程规范
那么,在学习JAVA语言的初期,程序员就可根据JAVA学习路线规划,可以进行由浅到深的学习、实训,熟练使用Java进行面向对象设计,最终熟悉的掌握JAVA语言。Java语言是这样,其他的语言也是一样,工作中高频出现的,在学习的时候一定要掌握好!
华为云社区:程序员从幼稚到成熟的过程是什么?他们这样回答
当你学会一门编程语言之后,接下来要考虑的事情就是让你编写的代码变得更整洁,更易于理解,更富有艺术。
遵守编码规范,是一个程序员最基本的要求,但很多程序员根本没有意识到这个问题的严重性。随意堆砌网上搜来的代码,根本不管可读性和可维护性,只要能实现功能就行了。
代码注释,要注意不是为了注释而注释。例如:对类,以说明职责为主;对方法,以说明意图为主;对方法体,以说明实现思路为主。
思维的条理性,写代码之前,先简单计划一下,用自然语言把流程写下来,用于整理实现思路。花点时间思考,敲代码只是最后一个很简单的工作,不要把自己变成一个代码打字员,编写边想,写了删,删了写。
养成这些好的习惯,可以极大地提升自己的编程实力,更快速、更可靠地交付更高质量的软件,从而成为真正的高效程序员。在华为云的云享读书会中,华为云资深架构师董老师领读了《程序员修炼之道:通向务实的最高境界(第2版)》这本书。读完这本书,你或能编写出更好的软件,或能探究出编程的本质,而所有收获均不依赖于特定语言、框架和方法。
华为云社区:程序员从幼稚到成熟的过程是什么?他们这样回答
数据库知识的了解。如果你想要在软件开发这条道路上走得更高更远,懂一些基本的数据库知识是必须的,比如说:如何将业务中的对象属性转化为数据库字段;如何从数据库中检索数据,并将数据集拼接在一起;如何往数据库中插入、修改、删除数据;索引的数据结构及原理;SQL 语句的优化;等等。
如果再懂一些数据库分库分表的中间价,那你可能就会成为团队的宝贝了,毕竟所有的应用程序都要与数据库交互,另外,数据库是系统最先出现性能瓶颈的地方——总有你大展身手的时候。
数据结构和算法的学习。基础知识就像是一座大楼的地基,它决定了我们的技术高度。数据结构和算法就是最重要的基础知识,学习它们的过程就像是在打地基。很多不懂算法和数据结构的程序员,就经常遇到一些实际的问题,由于无法充分利用数据结构将数据之间的关系通过合适的算法策略进行有效地存储转换,就导致程序的性能很低。
猜你喜欢
程序员的工资是不是太高了?真相让人心疼
程序员工资有多高?有人吐槽:干五年就能存款100万,凭啥要焦虑
讲真,为什么程序员工资高?程序员的六大优势,你知道吗?