Language agnostic 解释一个概念:早期显示代码是否能让它更清晰?

Language agnostic 解释一个概念:早期显示代码是否能让它更清晰?,language-agnostic,presentation,concept,Language Agnostic,Presentation,Concept,我想这是一个很多人都感兴趣的问题,所以请讨论一下!:-) 现在,假设你想向人们展示你的未来发展理念(比如你想引入的新产品或新技术) 提前显示代码有意义吗?还是先看PPT?或者你会推荐什么?我喜欢概念验证的非废话方法。让他们大吃一惊,然后证明它是有效的。这取决于观众和产品的性质。如果观众和/或产品被认为是“技术”,而不是考虑呈现代码。但是,您应该让它成为演示文稿的一个组成部分,而不是整个内容。我认为尽早显示代码不是很有用。“我们”技术人员总是自豪地展示我们的新技术细节和想法。然而,使用这些产品和技

我想这是一个很多人都感兴趣的问题,所以请讨论一下!:-)

现在,假设你想向人们展示你的未来发展理念(比如你想引入的新产品或新技术)


提前显示代码有意义吗?还是先看PPT?或者你会推荐什么?

我喜欢概念验证的非废话方法。让他们大吃一惊,然后证明它是有效的。

这取决于观众和产品的性质。如果观众和/或产品被认为是“技术”,而不是考虑呈现代码。但是,您应该让它成为演示文稿的一个组成部分,而不是整个内容。

我认为尽早显示代码不是很有用。“我们”技术人员总是自豪地展示我们的新技术细节和想法。然而,使用这些产品和技术的人只对他们能用它完成什么感兴趣。他们通常不会分享您对技术的热情,在本例中是代码

我的建议是坚持一个更普遍的方法,解释为什么它是有用的,以及它将如何使他们的生活更好。给汽车打个比方:人们想知道它有多大马力,而不是内燃机是如何工作的


但是,您的同事可能会对这些实现细节感兴趣

如果它真的不是技术人员,那么我发现纸模型非常有用。 当它被编码时,人们害怕批评,因为废弃纸质模型比真实模型更容易(也更便宜)

当向非技术人员展示网站/应用程序的概念时,绘制不同的页面、登录对话框等

当向其他开发人员展示一个概念时(如果他不明白的话),在纸上画出不同的类并展示它们之间的关系。如果你们都知道语法,UML在这里可能会很有用


否则,如果你有时间的话,我会说,用一个完整的实现将它们吹走:-)

我同意rtalbot。如果观众是非技术性的,也许是未来的用户,或者是你的老板,我会用一些图表。也许是用例。向他们展示你能用它做什么。如果它很小,而且你的朋友都是书呆子,那就编写一个烟雾和镜子演示。

+1给Stijn,因为真的,这才是最重要的

但是,这取决于你在做什么。你的“概念”是什么

  • API(例如mapreduce)
展示API的代码,不要把人们的时间浪费在实现代码上,这并不重要——“嘿,看看我是如何迭代你的输入的!它太聪明了!”。不。没人在乎。如果你的API很棒,它会被使用,没有人会在意代码的粗糙程度

  • 产品(如facebook)
显示代码?没人在乎。甚至facebook都不在乎(如果他们在乎,为什么他们会使用php?我是个孩子!)。用一个半完整原型的演示让他们大吃一惊,这个原型做了一些不好的事情,但展示了它有多棒

  • 实现本身(例如新的
    std::sort
    例程)
很多人可能对看内脏感兴趣。尤其是这样的人。因此,当你的工作开始时,发布代码或白皮书。这并不是“我的twitter克隆会很可爱,看看我的
TruncateTo140Chars()
函数有多酷!”。另一方面,通过显示算法(代码或伪代码),您可以快速获得新实现方法的反馈。您可以显示基准测试,这比“这段代码应该更快,因为与零相比,我少做一个”



请只是原型,得到一些你的用户会关心的演示。如果你的用户希望看到(通常不是这样),只需担心代码。

尽早向客户/利益相关者展示原型,稍后在同行中审查代码

利益相关者控制您想要交付的功能(尽早发现这一点是交付有利可图/有用功能的关键)


但是,为了提高代码质量,如果在正确的时间进行,代码审查是非常强大的。我的经验是,在迭代结束时这样做可以最大限度地节约成本。在执行代码审查的最佳时间方面,您的里程可能会有所不同(初级开发人员需要尽早进行审查,而且通常情况下,高级开发人员在以后才会进行审查)。

?如果你要展示代码,为什么不展示产品中的东西呢?因为这是“未来开发”的“概念”。称之为“生产”意味着它已经完成了。即使你有一些代码并展示出来,也不要称之为生产。这仍然是一个有原因的概念,对吗?如果你是“发布”代码,那么一定要显示该代码,但这与OP中呈现的场景略有不同。啊,我明白你的意思。同意。