虽然经历的面试不多,还是被问到过几次这个问题。
通常“写代码快不快?”这个对于程序员来说是一个很奇怪,什么算快?什么算不快?写什么代码?代码要实现什么都不知道,我怎么知道是快还是慢?可如果实话实说的回答,有的代码写的快,有的代码写的不快,那可真是钢铁程序员了。
那换个角度来理解这个愚蠢的问题,一个程序员代码写的快慢,其实取决于一个程序员本身的编码能力,算法比赛时那几个怎么都比你快的提交就是硬编码能力。别人一个算法十分钟搞定,你一个算法写俩小时,你可以算法比较难,没见过,两小时能跑出来已经很不容易了。但你就是没有人熟练,这就是硬编码的差距。
另一个是程序员本身的程序设计能力,给你一个复杂系统,你设计一套粗暴的实现,写的蹭蹭的。别人呢,设计了一套复杂的实现,在你们两个硬编码能力差不多的情况下,他那个复杂,完备一些,所以比你稍微满点。那你就比他写代码“快”么?不见得吧。如果加以后的维护成本呢?要知道代码实现的时间一般是远小于它的维护时间的。
普通的程序员,或者说绝大多数程序员,他们的硬编码能力可能天差地别,但最后写代码的时间,往往主要是在程序设计上。所以到最后还是在追求一个系统的稳定性,可扩展性,可维护性上。
编码能力就像竞技体育一样,年轻有机会的运动员都要冲上去试试。程序设计有点像全民健身,没有哪个竞技体育项目要比30年。
网友评论