解释c#程序的最佳方法是什么?

时间:2010-01-03 05:37:38

标签: c#

考虑任何C#程序,例如,你将如何开始解释该程序...我的朋友真的很难向他们的团队成员解释一个程序......

  1. 解释c#程序的最佳方法是什么?

  2. 开发人员向团队负责人解释计划时遇到的主要错误是什么?

  3. 如果您是团队领导,您会在团队成员的解释中寻找什么?

  4. 您的团队成员有关解释程序的任何提示吗?

7 个答案:

答案 0 :(得分:8)

当我采访开发人员担任我的团队职位时,我经常从他们的简历中选择一个随机项目并询问“我看到你在2006年的Fizzbin项目上工作了。我的母亲是一位退休的护士,他会跑来跑去吃早餐。假设你她住在她的B& B,她问你Fizzbin的项目是什么。“

然后我会经常让他们给我“电梯间距” - 你发现自己独自一人在电梯里与你的首席执行官呆了60秒,他说“所以,告诉我有关Fizzbin的项目”,你希望说服他们继续你的资助。

然后我会问一些涉及技术方面的问题。

我在这里得到的是,我希望看到能够以普通人能够理解的方式谈论代码的目的的候选人,谁能理解业务代码生成的原因,以及具有深层技术知识并能够进行沟通的人员。

不开玩笑,我让候选人“告诉我的母亲”这样的事情“好吧,通过项目Fizzbin,我们利用Lisp的同质性来构建一个层,可以将查询对象中的地图或缩减应用于地理上分布的数据集穿过一个多层次的等等等等等等等等,与我母亲的早餐交谈不合适。完全

许多候选人完全无法适当地为观众量身定制他们的沟通方式。解释一个程序的最好方法是知道你正在解释它的人对程序的哪些方面感兴趣,并专注于那些程序,同时遗漏他们不感兴趣的无关细节。

答案 1 :(得分:5)

我认为这些问题适用于任何语言的编程项目,而不仅仅是C#。

<强> 1。解释C#程序的最佳方法是什么?

对于任何程序,我都会概述程序的内容,最多只需几句。我还将解释程序的每个输入和输出(从命令行输入并输出到文件,或从网页获取输入并输出到其他页面和数据库)。然后我将概述该程序的各个组件 - UML图有助于此。从那时起,我就让开发人员开始查看代码,并在必要时让他们进一步澄清。

<强> 2。开发人员向团队负责人解释程序时遇到的主要错误是什么?

对于他们遇到的问题并不完全诚实,或者对他们认为需要多久才能完成这些问题做出真正的估计。

第3。如果您是团队领导者,您会从团队成员的解释中寻找什么?

我想知道他们目前正在做什么,他们是否遇到任何问题,是否有任何方法可以帮助他们,以及他们估计需要多长时间才能完成他们的工作正在努力。

<强> 4。您的团队成员有关解释程序的任何提示吗?

在文档或电子邮件中提供概述以及任何/所有文档,图表等。如果我有一份我可以阅读并在必要时阅读的副本,我会发现它非常有用,并在与团队负责人讨论问题时参考。

答案 2 :(得分:2)

这是一个棘手的问题。您应该从不开始编写程序,至少没有最低功能规范。您不必解释程序的工作原理,它只是按照规范中的描述进行操作。在之后编写一个规范你编写程序是错误的方法,并导致你引用的那种问题。

答案 3 :(得分:1)

我可能会过分简化这一点,但这就是我描述一个程序的方式(就你的点数而言)

  1. 解释它的功能。它有什么作用?它解决了什么问题?这将如何改善您的工作生活?能够表达它的用处将会有很长的路要走。

  2. 我没有任何第一手知识,但我怀疑开发人员承诺用这个程序解决所有问题。

  3. 如果我是团队领导,我想知道将要修复或改进的是什么,或者为什么我应该在这个计划中投入资金和时间。

  4. 简洁明了。如果你不能轻易简洁地解释你的程序的性质和好处,那么我想知道该程序背后的奉献精神(不是很正确的话)。

  5. 无论如何,这是我的想法。我怀疑有更具体知识或例子的人可以提供其他一些想法。

答案 4 :(得分:1)

我发现最有用的一些东西 - 比所有文档更多,UML图组合是一个(非功能)原型应用程序“演示”功能。我发现即使是最复杂的应用程序,也可以在几个小时内解决问题。 或者,您可能想要创建一组线框图。

答案 5 :(得分:1)

在您描述的团队中,显然存在需要发现的基本断开因为您的初始问题会产生更多问题,例如:

  • 为什么团队成员不理解编程概念?为什么所有的解释都需要好像没有人知道编程?为什么显然这么难?
  • 他们是在尝试解释C#还是.NET?他们知道他们想解释什么吗?

您描述的场景存在严重问题。 你能提供更多细节,也许从一些背景开始。如果需要,更改名称和地点。我们最终可能会建议一个完美解决方案的激励教练,或者一本关于如何摆脱公司政治泥潭的书。

答案 6 :(得分:0)

虽然,imho,原始问题(甚至是子问题)如此广泛,但它们可以被解释为一千零一种不同的方式(如果你愿意,可以解释“Scherezade”问题)。

对我有什么兴趣,阅读问题,以及迄今为止的所有评论/答案都是:源代码中没有提及任何评论。

如果你真的在描述一个复杂的“真实世界”应用程序开发场景(任何一个团队成员,甚至项目经理都不可能完全理解所有代码),然后:

imho 任何团队成员都没有在内部记录他或她的代码并提供适当的评论 ......至少......以某种方式解释他们自己的策略和实施那些很容易让他们向其他团队成员解释他们的选择...并且还可以在将来使代码可维护......值得将职业转变为像“营销经理”这样的职位,或者“咖啡gofer”:)

所以,我会解释在我的问题中隐含的情景,反映出一个功能失调的编程团队,以及不正常的团队管理。需要的东西:不是“创可贴”,也不是人际交往的课程,而是基于改变团体“文化”及其工作实践的“治疗方法”。