设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

编程:思考或打字,思考和打字

2013-11-12 09:54| 发布者: joejoe0332| 查看: 2384| 评论: 0|原作者: 冯欣伟|来自: 伯乐在线

摘要:   ”如果你思虑不周,你也许会认为编程只是一行一行把代码语句敲进电脑里。“——Ward Cunningham 在《程序员修炼之道:从小工到专家》中的序言提到。   软件开发包含很多需要深入思考的内容,诸如设计、解决问题 ...


  编码输入和思考是不同种类的工作

  工作的性质以编码为主,还是以思考为主,影响着你的团队需要的人员数量和类型。这会改变人们之间如何合作,以及你如何取管理团队。编码可以被外包,但思考不行。你需要认识到哪些问题可以通过编码解决,而哪些不行,以及什么时候思考型工作转变为编码输入型工作。


  思考型工作可以也应该交给一个小而精的专家团队,或者干脆托付给一个天才。在思考设计或思考复杂问题、反复试验的阶段,你不需要太多的人。做这种工 作的人需要完全沉浸其中,在这段时间里,他们会开展探索性研究,也可能会犯错误,他们会学习,在遇到困难时,也许仅仅会盯着屏幕发呆(其实是在思考啦 ^_^)。


  这个阶段极其重要,因为在此所犯的错误通常都是致命的(终结项目或职业生涯级别的错误)。比如选择了错误的技术平台;假设了错误的实时系统的可容忍延迟;花费大量的时间去寻找(或者根本找不到)高可靠性的方案;挑选了错误的人员或者尝试去解决错误的问题;使项目失去了节奏。


  管理此类工作需要寻找最优秀的人才,确保他们有正确的信息和工具,让他们专注,同时要观察外界的风险,以确保他们不被打扰。


  思考型的工作是不可预知的。不存在“复制粘贴”的方法,因为你根本不知道从哪“复制和粘贴”。你不可能估计此类工作,因为你根本不知道有多少事务是你所不知道的。但是你可以设置一个时间限制,尝试寻找规定时间内的最佳方案。


  编码输入型工作是可预知的。你可以同时也不得不去估计这类工作。诀窍在于把所有需要编码的工作的列出来,并为工作中所有可能遇到的错误和变化做出估 计。它们通常会随着项目的进行而快速增加,诸如程序员的粗心大意、错误理解了需求、遗漏了测试、简单的“复制粘贴”,这些都会导致现在和将来的成本增加。


  编码输入是一种工人式的工作。虽然一些高级开发者在他们厌烦前可以媲美一个大团队的工作,但是你不需要专家,那些理解所用语言和工具的基本原则、细 心并且原因服从指示、耐心的人都可以胜任此类工作。管理一群“打字员”需要不同的方式和技巧:你需要尝试变成一个政客、一个外交家、一个后勤人员、一个标 准制定者、一个管理员、一个经济学家的角色。你是在管理项目和人员的风险,而非技术。


  一段时间后,一旦大部分“我们不确定我们需要且如何去做”的艰难工作被解决了、一旦未知的事务被逐渐掌握,思考型工作就转变为了输入型工作,这时候就需要去填补细节并使流程跑通。


  当系统的用户增加,不得不去处理更多的接口、地点、本地化、电子邮件、摘要、支持和承诺时,你就需要开展更多的输入型工作。系统保持增长,但是大部分的问题都是熟悉且可解决的。有大量的代码可供查找、学习和复制。你需要的是能够从中挑选所需和打字快的程序员。

 

  思考和编码/输入


  思考和编码都是软件开发的重要组成部分。


  在《编程不仅仅是打字》一文中。Brendan Enrick解释了结对编程有用的原因:这可以让两个程序员同时各自专注在思考和编码两个方面。


  ”两个人都在思考,但思考的内容不同。一个开发者拥有键盘,并且沉浸其中(这种开发者需要一定的打字速度),他依照当前的代码逻辑进行编码而不是整个应用的结构。一段时间后,他编码的速度就会提高。


  在结对编程中不实际编码的人把所有的时间都专注在思考上。他的脑子中具有编码者工作的清晰流程,但并不关心实际编程语言的语法,实际的编码者才需要关心语法。这种在编码者身后坐着的人,更像是一位向导,他必须确保工作进展在正确的道路上,并使用最有效的方式去实现它。“


  成为一位优秀的开发者比单纯的编码输入更出色,而成为一位得力的编码输入者也比简单的敲击键盘更优秀。这意味你必须有很好的基础:掌握足够的编程语 言特性,知道用什么工具以及如何使用,要会读代码,当然也要知道如何写代码(同时要写得快);学会控制你的工具、知道使用哪种编码更快,这样你就更加灵 活,这些都是接替一个开发者所必须的。最后,不要低估编码输入的重要性,也不要让那些本该是输入型的工作变成思考型的工作。


  原文链接:
Jim Bird

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部