关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 程序人生 »你是编程中的“快枪手”还是“慢悠悠”?

    你是编程中的“快枪手”还是“慢悠悠”?

    2014-12-11 00:00:00 出处:ITJS
    分享

    一般而言,有两种类型的开发者。一种编码速度快,喜欢一大段一大段的组合代码,然后看它是否能顺利运行,这是编程中的“快枪手”,还有一种在朝着目标前进的时候比较淡定,他们会确保他们所写的一切代码都是精心设计的,可维护和可扩展的。因为这个原因,使得他们在速度上显得比别人慢,所以是“慢悠悠”。

    两者之间的区别是,前者完成的效率更高,但代码的错误率更大(除非他们特别幸运),而后者代码的错误率就少多了,并且易于扩展和维护。亲你是哪一种呢?

    8001363_225500505191_2

    愚蠢的“快枪手”?

    大多数开发人员可能不敢承认自己是那种以良好的体系结构为代价的“快枪手”。为什么呢?因为这样可能会产生更高的错误率。但是回过头来想想,哪个系统没有代码错误?

    拿我自己举个例子。

    我要是接了个单子要写程序什么的,会有来自客户方面的压力,因为我必须及时交付。而客户对于软件的要求大多是通过电子邮件,电话告知的,或者在某些情况下,客户会直接写在票务系统里发过来。我的责任就是,确保程序的功能可以准确反映这些要求。而大家都知道,有时候客户想要什么却并不说出来,而这一点也是我必须考虑进去的。

    在开发团队中,有写的快的成员也有写的慢的,有代码错误率高的也是错误率低的。而我我大部分时间在做的是,怎样将这些人员有效分类。

    继续讲那个例子。那么我该如何确保客户的要求能实现呢?答案是,我得看到实现要求功能的代码在哪里。所以,我就有两个选择了。第一个选择是把单子交给能快速交付的“快枪手”,这样我便可以及时看到运行结果(无论代码是否有bug也不管后期是否易于维护)。另一个是让“慢悠悠”来做,有可能直到最后一分钟他都交付不了,但是拿出来的解决方案必是精品。

    第一种情况下,我能很快拿到成果,而且要是客户不满意,还有时间去修改,但是我可能不得不面对不支持扩展和不可维护等等方面的缺陷。而在第二种情况下,因为没有多余的时间,所以将不能按客户要求进行修改,但是代码简洁优雅,要是未来有需要的话还可以进一步扩展。

    在这里要着重讲一下,可扩展和不可扩展以及可维护和不可维护的区别。例如,我们已经按客户要求搞定了所需的软件,但是它的代码是不可扩展的,那么要是用户喜欢并且想进一步扩展的话,那你就只能叫苦连天了。但是要是是可扩展可维护的,那么用户想在某个方面扩展的话,那就是小菜一碟了。

    所以,要是用户没有要扩展某个方面的想法,那么我会选择“快枪手”。反之就需要“慢悠悠”了。但是要是你想保证100%选择正确,那就只能让事后诸葛亮出马了。

    因为这是一个主观判断。

    不可协同工作

    上面我讲的例子要是能团队中实行,肯定可以提高整个团队的工作效率。在分配过程中,我认识到,“快枪手”有快速编码快速交付的特点,而“慢悠悠”有完成的代码简洁明朗易于维护的特征。

    随着社会的发展,CI / CD已经变得适用于多种环境。并且现在推陈出新也是越来越便宜。即使代码不可扩展,人们也负担得起更新迭代,甚至哪怕就是再次重新架构也可以承受。这样一来,我们就需要“快枪手”按照要求尽可能的快速开发,而在需要架构或者重构的时候,再青睐“慢悠悠”来大显身手了。

    但是要是“快枪手”的代码写得太快以至于“慢悠悠”完全跟不上,那时候就悲剧了,因为你得到的只会是一个千疮百孔,满是bug的系统。

    谁都不希望得到这样的结果。

    预见机制

    为了解决上述问题,我们可以使用预见机制,用于衡量开发人员的bug在代码运行时会导致什么问题。这样既可有效控制“快枪手”的错误率,也能确保“慢悠悠”的代码火车不再晚点。

    有没有觉得,“快枪手”好像文献资料或者是验证器?而“慢悠悠”则更加适合放在设计和架构功能方面,以便于这些方面今后有需要的话,容易维护和扩展。

    也许我们可以叫“快枪手”为功能团队,而“慢悠悠”则更趋向于是一种工程团队。

    最后,问问你自己,“快枪手”和“慢悠悠”,亲你是哪一种呢?

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    PNY 推出 CS3250 M.2 NVMe PCIe Gen5 x4 SSD,高端计算新标杆

    富士康承诺在泰米尔纳德邦投资 1500 亿卢比,创造 14,000 个就业机会

    NetApp Insight 2025:NetApp 和 Red Hat 加强协作,利用 Red Hat OpenShift 虚拟化推动 IT 现代化

    2025 年 OCP 全球峰会:Credo 推出 ZeroFlap 光收发器——人工智能网络光学器件的可靠性革命

    Kong 发布 Volcano,一个用于构建 AI 代理的 MCP 原生 SDK

    昂瑞微科创版IPO成功,上峰水泥跨界投资

    AI赋能,场景智变:第16届深圳国际移动电子展引领场景化消费新浪潮

    OpenAI估值5000亿美元,成全球初创公司中的“估值之王”

    战略突破:三菱电机以匠人心态引领功率半导体技术革新

    英伟达5亿美元投资英国自动驾驶初创公司Wayve

    IT头条

    Synology 更新 ActiveProtect Manager 1.1 以增强企业网络弹性和合规性

    00:43

    新的 Rubrik Agent Cloud 加速了可信的企业 AI 代理部署

    00:34

    宇树科技 G1人形机器人,拉动一辆重达1.4吨的汽车

    00:21

    Cloudera 调查发现,96% 的企业已将 AI 集成到核心业务流程中,这表明 AI 已从竞争优势转变为强制性实践

    02:05

    投资者反对马斯克 1 万亿美元薪酬方案,要求重组特斯拉董事会

    01:18

    技术分享

    大型网站的 HTTPS 实践(三):基于协议和配置的优化

    ubuntu下右键菜单添加新建word、excel文档等快捷方式

    Sublime Text 简明教程

    用户定义SQL Server函数的描述

    怎么在windows 7开始菜单中添加下载选项?

    SQL Server 2016将有哪些功能改进?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。