注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

计算机科研与技术

 
 
 

日志

 
 

想成为大牛的首要原则:团队第一,请勿单打独斗  

2014-11-24 13:41:50|  分类: 教育杂谈 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
我研究过那些名副其实的程序员,他们真的那么厉害吗?他们是怎么变强的呢?或许,他们也只具有一般的水平。若能具有这种“考虑预算、成本、开发周期等因素”的把握全局的本领,才能成为一名优秀的程序员。我最近读过Mark Pearl的一篇博客,标题为“编程,是写作的子集”。我认同文章中的大部分观点,读到如下段落的时候,真正打动了我,并使我震撼:毫无疑问,就像生活中的技能一样,我们要想变得更好,就能够不断的去锻炼。当你对代码重构完之后,你还能做什么呢,是进一步的重构代码吗?我们敞开心扉,让其他重要的事情进入到我们的编程当中来,如此,将会提高我们的编程能力,以及能带来更多的灵感。单元测试、异常处理,甚至沟通技巧也同样很重要。如果你忽略了这些东西,自己将成为一个过度自信、刚愎自用之人。

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

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


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

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


所有的功能,必须要经过单元测试;
所有的测试内容,要覆盖所有的代码;
所有的模拟/存根等,在你单元测试模块中使用到的东西,必须建立在模拟库中;
所有的应用都要围绕着DDD模式进行,不管他们是什么功能;
所有的应用,构建数据访问层时,必须使用ORM来完成;
应用程序,如果不适用ORM构建,将是下下策,并且很难维护;
最好的注释就是代码本身,当你把代码写的做够好,包括变量名和方法名,以及类名,以达到见名知意。所以,代码添加任何注释都是不可取的;
你设计的任何文档、产品,必定很快的就会过时,并且很快就会变得毫无用处;
代码是你所需要的唯一文档;
代码是你所需要的唯一模型;
良好的自上而下的设计师不可能实现的,而且也常常会失败,拥护这种原则的人鼠目寸光,到目前为止,他们都会认同“演进式设计”的优越性,这就是所谓的TDD;
除了使用面向对象之外,你写不出好的软件,因为只有面向对象才能降低复杂度;

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

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

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

  评论这张
 
阅读(59)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018