首页 > 代码库 > 想成为大牛,团队第一,请勿单打独斗

想成为大牛,团队第一,请勿单打独斗

我研究过那些名副其实的程序员,他们真的那么厉害吗?他们是怎么变强的呢?(或许,他们也只具有一般的水平)。



我最近读过Mark Pearl的一篇博客,标题为“编程,是写作的子集”。我认同文章中的大部分观点,读到如下段落的时候,真正打动了我,并使我震撼:

毫无疑问,就像生活中的技能一样,我们要想变得更好,就能够不断的去锻炼。当你对代码重构完之后,你还能做什么呢,是进一步的重构代码吗?

我们敞开心扉,让其他重要的事情进入到我们的编程当中来,如此,将会和那红的提高我们的编程能力,以及能带来更多的灵感。单元测试、异常处理,甚至沟通技巧也同样很重要。如果你忽略了这些东西,自己讲成为一个过度自信,刚愎自用之人。

我经常鼓励程序员成为一个优秀的程序员,并且遵从宗教符合软件实践,而忽略了是否实用的关键因素,也就是放弃了学有所用的原则。我曾认为是优秀的程序员,经过深思熟虑之后,他们只不过是自负的程序员。然而,公平的说,他们之中,有些程序员还是很不错的。

我很赞同我的一个前同事Russell Politzky的观点,如下:

那些自负的程序员,具有教条主义、狭隘的、不切实际的等特点。拥有如此特点,在我们的业务中绝不是什么好事,将带来不恰当的,甚至毁灭性的设计决策。

这些程序员,在平时的工作交流中,可能会经常使用如下的语句:

·        所有的功能,必须要经过单元测试

·        所有的测试内容,要覆盖所有的代码

·        所有的模拟/存根等,在你单元测试模块中使用到的东西,必须建立在模拟库中

·        所有的应用都要围绕着DDD模式进行,不管他们是什么功能

·        所有的应用,构建数据访问层时,必须使用ORM来完成

·        应用程序,如果不适用ORM构建,将是下下策,并且很难维护

·        最好的注释就是代码本身,当你把代码写的做够好,包括变量名和方法名,以及类名,以达到见名知意。所以,代码添加任何注释都是不可取的。

·        你设计的任何文档、产品,必定很快的就会过时,并且很快就会变得毫无用处

·        代码是你所需要的唯一文档

·        代码是你所需要的唯一模型

·        良好的自上而下的设计师不可能实现的,而且也常常会失败,拥护这种原则的人鼠目寸光,到目前为止,他们都会认同“演进式设计”的优越性,这就是所谓的TDD

·        除了使用面向对象之外,你不能够写出好的软件,因为只有面向对象才能降低复杂度

你知道此类程序员吗?如果是的话,那你知道他们的特征表现吗?经验表明,这种思维非常极端,把所有的东西都非好即坏的一刀切,是不符合逻辑的,也是极其荒谬的。

合理的推理,注重培养实用性的能力,将会使你成为一个优秀的程序员。完善你的行业经验,提高你的技能,这固然是好的,但是,我们也要考虑周全,预算、成本、开发周期等。若能具有这种把握全局的本领,才能成为一名优秀的程序员。

当然,要想成为一名名副其实的优秀程序员,动手多练才是王道。


想成为大牛,团队第一,请勿单打独斗