什么样的程序员才是优秀的程序员

我眼里的程序员应该是一个非常俗的人,了解现实社会的商业、文化、民俗风情,对社会生活抱有极大的热情,而不是哪些不食人间烟火、整天把设计模式、面向对象挂在嘴边却永远不会去实践的人;
1、有一个自己的任务清单
当要实现一个功能点时,最好将较大的任务分割成较小且更清晰的任务,这些任务是相对独立的逻辑单元,可以单独进行测试。列一张这样可完成的较小任务的清单,并在完成之后勾选、更新。这样会形成自我激励,并促使自己去不断完成更多的小任务。
2、一套特别熟练的解决问题的思路
之前有位首席java工程开发师说道每解决一个bug,就是自己能力的一次提升。的确,没有真正解决过无数的bug或问题的程序员,谈不上专家,谈不上高级程序员。而一个高级程序员正是从这种解决问题的过程中不断地历练自己,形成一套烂熟于心的问题解决思路,让自己强大的。我也简单说说Java程序员成长过程中经常遇到的一些问题,如果你没遇到过或很少遇到,那么您就是两个极端的人:要么初级入门还没到遇到问题的步骤,要么高级了(当然正常人在写代码时都会遇到代码的)。基础扎实,熟悉Java编程,熟悉 Spring、MyBatis等框架优先;熟悉SQL语句,熟练使用MySQL数据库;良好的沟通、表达、协调能力,富有激情,学习能力强,最终要的还是自己愿意去学习,愿意去钻。如果你还没有一套自己的解决问题思路的,可以加java交流讨论裙 934623944 里面有很多一起相互讨论java的小伙伴。
3、遵循适当的版本控制
通过创建开发、特性、主分支和设置适当的访问权限来遵循适当的版本控制策略。无论何时开始编码,都要确保先获取代码库的最新版本后再开始。在逻辑部分或功能完成后继续提交/推送代码,不要让代码库长时间处于未提交状态。在将代码提交给版本控制之前,始终在本地机器上测试代码。无论变更多么细微,在输入代码时都要检查修改文件的差异,这将帮助追溯意料之外的变更,并有效避免不必要的Bug。
4、持续重构
代码重构是在不改变源代码的功能行为的情况下改变源代码的过程,目的是通过提高代码的可扩展性、降低代码的复杂度,以此来提高代码的可读性和可维护性。未能执行重构可能会导致技术债务的累积,开发人员会在之后的时间里对这些技术债务付出代价。要知道,没有任何一个开发人员愿意处于这种境况中,他们常常拒绝接触已经工作了很长时间的代码。当需要增强现有特性时,问题就出现了。如果代码的形式不适合进行简易扩展,那么它将是开发人员的地狱。因此,为了避免出现这种情况,需要始终在代码中寻找可以改进的地方。如果你自己做不到,那就向团队寻求帮助。
5、敲代码前先手写代码
在实际将解决方案转换为代码之前,要养成手写算法/伪代码的习惯。手写还可以帮助你在将代码移至计算机之前规划代码。写出需要的函数和类、以及它们如何交互,可以在之后节省大量时间。尽管要比直接敲代码更耗时间,但这种规范会让你打下牢固的基础,实现之后更稳健的成长。
6、给自己的代码进行注释
在自己写的代码中留下注释,解释为什么要做出某些选择。这将帮助到之后拿到这段代码的人,因为不是每个人都清楚你为什么以这种特定的方式编写代码。不需要对非常明显的编码行为进行注释,因为这无关紧要。正确的代码注释将提高代码库的可维护性。
7、记住技术永远在变化
我将自己的身份首先视为程序员,第二身份才是编程语言专家,因为总有一天我们现在使用的所有编程语言将不再被使用。比如我从80年代开始使用的某些形式的程序集代码,这些代码现在大部分都已经不存在了。这将发生在任何技术上,无论其自身好坏。总会有一天,没有人会再使用Java。而另一方面,编程语言有一个广泛的范例,存在着相似的族谱。所以,如果你知道一种和另一种语言相似的语言,那么学会这种语言就很容易。例如,Python和Ruby几乎是同一种编程语言。二者虽在文化上存在着巨大的差异,但除此之外,它们几乎完全相同,所以当你知道另一个的时候学习一个是非常容易的。因此,不要将自己与任何技术或编程语言绑定在一起,而只将它们视为帮助自己解决手头问题的工具。
8、总结
优秀的程序员是那些终生立志做程序员的人。三天打鱼,两天晒网,今天想做程序员、明天想做管理,几年下来很难有所成。
优秀程序员的成长之路应该是:学习-实践-创新-学习 这样一个循环往复的过程,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值