程序猿从初级迈向中级,绕不开多线程编程的门槛。按正常思路,是不是应该说,什么是线程? 什么又是进程?他们之间的关系是什么?但我想,每一个猿哥媛姐的理论知识比我这个学渣不知道强多少倍,那我想BB点啥呢?直接亮明此篇观点,正如标题所述:拥有团队意识的编程即为我理解的多线程编程。
紧跟一个之前听到的经历,程序小猿A刚大学毕业,初入职场,看到公司里用的技术和平时遇到的问题大部分在大学的时候遇到过,而且自己都成功解决,加之,此猿在大学里虽不是出类拔萃,但凭自己的一股自以为不输别人的小志气,再加上身为程序猿的小傲骨,就把大学时候的状态带到公司里,结果发生了如下事件:1.代码我行我素,虽实现功能,但风格独特 2.代码常与其他同事的冲突;3.经常将一些含有小bug的代码提交到git上,导致发版屡屡不顺;4.对于一些公共组件中的方法,自己代码中用着不顺手,直接修改。当然,小猿A还是有端正的工作态度,出现问题,及时解决。但还是因为这些事情,被领导问责。以上问题,看起来似乎初入职场,甚至进入职场几年却养成糟糕习惯的程序猿们多多少少都会沾边,但要我去归结此猿真正的问题,我只想说,他没有团队意识。
的确,此猿有基本的编写业务代码的能力,也有端正的工作态度,但对于一个公司,一个team却是一个灾难。这个我相信久经职场的猿大大都明白。软件公司的拿的是程序猿们编写的代码挣钱,代码里包含着上层领导的市场方针,包含着产品设计的概念梳理,更包含着每个程序猿的价值体现,它是一个公司里集体成员的努力,而身为程序猿的我们却是对这个公共的宝贵资源的直接操作者,所以,我们对我们每一行代码,每一次修改,特别是每一次提交都要慎重的考虑清楚:这次操作涉及到哪些地方,解决了什么问题,会对系统哪些地方造成哪些影响,是否会影响到其他同事,代码是否符合公共的规范,他们能不能读懂我的代码,对他们后续的扩展有怎样的影响 等等诸多问题。说到这里,不知道你是否和我有同样的感受,如果把我们程序猿干工作这件事类比成一个线程在执行任务,而我们共同维护的代码就是程序中的公共资源,团队里的每个人像小猿A,各干各的,有的人修改了公共的接口,而有的人却还在用旧的那个;同时有多个人在修改同一块代码;有的人在写代码之前根本不关心别人是否有提交过东西,直接在n个版本之前的代码上做修改。这些无序的,各干各的线程工作模式总会在工作结束后,让我们花更多的时间去订正这些问题,如果没有版本管理工具,基本上无法挽救。好在java中也有JMM,volatile,锁机制让程序中的公共资源得以保证其正确性。
最后,一句话:时刻怀着团队意识去编程,不管是和同事一起共同开发,还是在编码时考虑多个线程CRUD,当小猿A的心里不在只是装着一个人,或一个线程时,我想,他走在迈向中级的路上。
多线程编程——你有团队意识吗?
最新推荐文章于 2022-07-10 00:49:27 发布