网站建设规划方案ppt模板,双城网站,济南企业建站,怎么建设空包网站2019独角兽企业重金招聘Python工程师标准 在过去的N年中#xff0c;我遇到了很多使用囧然不同风格的开发者#xff0c;下面是我所知道的一些#xff0c;你还知道其它的吗#xff1f; 散弹枪编程 这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯 在过去的N年中我遇到了很多使用囧然不同风格的开发者下面是我所知道的一些你还知道其它的吗 散弹枪编程 这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯这个方法调用出错了……那么我会试着把传出的参数从 false 变成 true!”当然依然出错于是我们的程序员会这样“好吧那我就注释掉整个方法吧”或是其它更为随意的处理方式直到最后让这个调用成功。或是被旁边的某个程序员指出一个正确的方法。 如果我们把一个正规的程序员和一个撞大运的程序员放在一起做结地那么那个正规的程序可以马上变得发疯起来并且可以把正规的程序员的智商降到最低。两个撞大运的程序员不应该在一起做结对编程这是因为他们破坏性的才能会造成的伤害会比只有一个还差。 撞大运编程 这是一种比散弹枪编程要温和一些的编程方式我相信这种方式可能会是大多数程序员都会使用的方式。这种编程方式经常出现于程序员并不确切知道他们在干什么也不知道所写的程序的本质和实际但是可以让程序工作起来。他们以一种撞大运的方式在写程序某些时候他们根本就不知道某个错误的原因就开始稀里糊涂地修改代码。一旦出现问题他们会用两条路1停下来理解一下程序找到出错的原因。2使用散弹枪编程方式开始解决问题。 测试驱动开发Test Driven Development是一种可以用来拯救上百万的撞大运编程的程序员。于是他们有了一个更为NB的借口只要我的程序通过测试了你还有什么话好说别骂我测试驱动开发是一个不错的事物其主要是用来控制撞大运开发所带来的问题。 Cargo-Cult 编程 关于Cargo Cults 这个词儿来自二战期间的某些太平洋上小岛里的土著人。在战争期间美国利用这些小岛作为太平洋战场上的补给站。他们在这些小岛上修建自己的飞机跑道以用来运输战争物资。而那些小岛上的土著人从来没有见过飞机当他们看到飞机的时候觉得相当的牛可以为那些白人带来各种各样的物品和食物。当二战结束后那些土著人仿照着修建了飞机跑道并用竹子修建了塔台。然后就在那期望着有飞机为他们送来物品和食物。 Cargo Cult 编程是一种非常流行的编程方法使用这种方法的程序员会学习其它编程高手的编程方法虽然他们并不知道为什么高手们要那样做但是他们觉得那样做可以让程序工作起来。举个例子当时有大量的程序员在J2EE出现的第一年中过度地使用了EJBs和Entity Beans。 刻舟求剑编程 刻舟求剑是一个很流行的寓言了。这种风格的编程在程序员的圈子里是非常常见的。比如有一天你发现了一个空指会的异常于是你到了产生空指针异常的地方简单地放上一个判断 if (p ! NULL)。 是的这样的fix可以让你的程序工作起来但你并没有真正地解决问题。你只不过是在你的船边记下了剑掉下去的位置这样做只不过把问题隐藏起来最终只会让你的程序的行为变得神出鬼没。你应该找到为什么指针会为空的原因然后再解决这个问题。 设计模式驱动型编程 正如这种编程的名字所说的这种编程风格使用大量的设计模式在你的程序中四处都是设计模式你的代码到处都是FacadeObserver StrategyAdapter等等等等。于是你的程序要处理的业务逻辑被这些设计模式打乱得无法阅读最后也不知道是业务需求重来还是设计模式重要总之实际业务需求的程序逻辑被各种设计模式混乱得不堪入目。 侦探型编程 在解决一个Bug的时候侦探型程序员会调查这个Bug的原因。然后则调查引发这个BUG的原因的原因。再然后其会分析修正代码后是否会导致其它代码失败的因果关系。再然后然后他会使用文本搜索查找所有使用这个改动的代码并继续查找更上一级的调用代码。最后这个程序员会写下30个不同的情形的测试案例就算这些测试案例和那个Bug没有什么关系最最后这个程序员有了足够多的信心并且精确地修正了一个拼写错误。 与此同时其它一个正常的程序修正了其它5个Bug。 屠宰式编程 使用这种风格的程序员对重构代码有着一种难以控制的极端冲动。他们几乎会重构所有经手的代码。就算是在产品在Release的前夜当他在修正几个拼写错误的bug同时其会修改10个类以及重构与这10个类有联系的另20个类并且修改了代码的build脚本以及5个部署描述符。 转载于:https://my.oschina.net/jack230230/blog/83241