你是专业程序设计师吗(上)

2007-06-08     推荐:-726548    收藏:-470190    评论:0     来源:开发者在线

你是「专业」的程序设计师吗?什么是专业?我自己的定义是「使用自己所擅长的程序语言,快速且正确地解决问题的程序设计师。」这句话里有两个重要的关键词:「快速」与「正确」。

正确是绝对必要的,如果最后的结果不正确,那不管是用了什么最新的技术,或是到底多短的时间就完成等,其它的因素都是白废的。至于怎样才叫快速?这个比较没有量化的标准,而且快速还可以再细分成:你写程序的速度和写出的程序的执行效能。

但业界的确有权威的标准,来判定你到底是不是专业的程序设计师。最简单的方式,就是参加一些有时限的程序设计比赛,例如正在举办的Google Code Jam 2006。Google Code Jam分成了三个关卡,每个关卡都要你在有限的时间内,解决几个问题(详情请看Google网站)。

问题有难易度之分,相对所分配到的分数也不同,而你所得到的分数会依据你解题的速度、正确度与效能给分。只要在时限内达成要求,就代表你至少有一定程度了。

笔者不幸在第一关就惨遭淘汰。经过一番自我检讨,在今年的比赛里,我犯了几个严重的错误。第一,我没有详细的阅读比赛规则、看错比赛时限、不熟悉比赛程序接口。我把第一、二关时间看错,第一关是要在60分钟内解决两个问题(两个问题满分分别是250分和750分),第二关的时间75分钟。

而计时是从登入后就开始计算,我在chat room晃了一下才找到自己的比赛区,赛前又没有去熟练比赛程序操作接口,摸索也用掉了一些时间,所以当我真正认真读题目写程序时,时间只剩不到50分钟。

第二个错误是我太自以为是。我原本认为没什么好怕的,写程序我熟练得很。可是这个比赛的目的,其实不是要你对于一个程序语言的语法到底有多熟练,而是如何去找出、设计出正确的解题方法,至于用到的语法都只是最基本的条件判断式、循环,外加基本的API等等。

解题的方式说穿了很简单,只要动动脑筋,运用一些几何、数学的基本常识或公式,依题目的需求,组合成正确的解答即可。所以你必需具备的反而是几何、数学的基本能力,而不是程序语言到底有多熟练。

您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: