Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 在为其他地方的其他开发人员设计类时,您如何从构思到实现?_Oop_Class Design - Fatal编程技术网

Oop 在为其他地方的其他开发人员设计类时,您如何从构思到实现?

Oop 在为其他地方的其他开发人员设计类时,您如何从构思到实现?,oop,class-design,Oop,Class Design,我正在寻找灵感,了解如何在一个有多个开发人员在不同位置的项目中从头开始设计类(因此没有白板会话) 假设您的任务是实现一个相当大的特性,该特性将在项目的后期由其他开发人员使用。此功能将需要几个类,并将与项目中已有的其他类交互。当然,在继续并实现整个过程之前,您需要其他开发人员的输入。现在,你如何继续 我将从可用的最佳工具开始:笔和纸。那又怎么样?我想把我论文中的线条、气泡和符号具体化到其他开发者的屏幕上。简单地扫描并通过电子邮件发送论文是最好的方法吗?有没有好的模式可以把设计写成文字?是否有任何在

我正在寻找灵感,了解如何在一个有多个开发人员在不同位置的项目中从头开始设计类(因此没有白板会话)

假设您的任务是实现一个相当大的特性,该特性将在项目的后期由其他开发人员使用。此功能将需要几个类,并将与项目中已有的其他类交互。当然,在继续并实现整个过程之前,您需要其他开发人员的输入。现在,你如何继续

我将从可用的最佳工具开始:笔和纸。那又怎么样?我想把我论文中的线条、气泡和符号具体化到其他开发者的屏幕上。简单地扫描并通过电子邮件发送论文是最好的方法吗?有没有好的模式可以把设计写成文字?是否有任何在线工具可以快速建模类设计?我是否应该简单地为课程写“大纲”并征求反馈


这里需要考虑的一个重要问题是,由于开发人员彼此距离较远,因此唯一可用的通信方式是电话和电子邮件。

使用视频会议:使用笔记本电脑的micro彼此交谈,并使用VNC让他们进入您的计算机,以便他们可以看到您的屏幕

从这一点出发,使用任何建模/文本编辑器作为支持:绘画、文字、WinDesign、ObjectEngining等。这是沟通的最佳方式


附言:我同意纸笔是最好的,但当它是为你,而不是为外国开发人员。所以忘了扫描和发电子邮件吧^ ^

我对这种缺乏同一地点的情况没有经验,但我同意这样的观点,即纸笔方法是开始讨论设计的最佳方法。Scott Ambler谈论POWs(普通的旧白板)的使用。。。这是同样的想法。第一种建模方法可以用数码相机拍摄一张照片,在模型变得更加坚实之前,不要浪费时间使用工具进行复杂的UML布局。在白板上拍照可以节省很多时间


如果你能分享屏幕的一部分,我想Clement Herreman提议的视频会议的使用足以讨论模型,这样每个参加会议的人都可以看到正在分析的模型的图片。

首先,我开始阅读需求和文档,并尝试获得一个粗略的草图。这主要是在我的头脑中完成的,部分是在纸上完成的。(我有很好的记忆力。)设计的第一阶段通常是在远离我的电脑的情况下完成的!当我在车里的时候,我的脑海里可能会闪现出一些想法。有时,我甚至会在一个锁着的小房间里,把一些有臭味的东西倒进一个大瓷罐里,产生新的想法。总的来说,设计理念往往在安静的时候突然出现,而我有机会让自己的思想四处游荡

大约两年前,我确实有一个需要设计的大项目。另一个开发人员已经在做这件事了,但是他对这件事感到非常失望,仅仅因为几个星期后他还没有找到一个好的解决方案就离开了公司。所以,然后轮到我了

我有一个优势,我可以在家工作,所以我做到了。我花了第一天的时间在卧室里设计,在床上拿着笔、纸和文件。我有我以前同事的笔记,可以看出他把事情弄得太复杂了,所以我开始把问题分成更小的步骤。我继续浪费纸张做笔记,在头脑中做计算,并将我的笔记和文档和其他笔记进行比较。第一天,我从未用过我的电脑

第二天,我开始输入一个技术设计,并编写一些代码来测试一些原则。尽管如此,我还是花了很多时间远离电脑,在这段时间里我会小睡一会儿,从沉重的思绪中解脱出来。花了整整一天的时间,但最后,我把整个概念都写在纸上了

第三天,我打印了我的概念,并与队友分享。当我继续为代码设置基本需求时,他们可以开始评判我的设计并指出缺陷。那天,他们没有找到任何东西,尽管我在里面留下了一些

第二天,我和一位队友开始实施概念验证代码,这是让所有功能正常运行所必需的。再过两周,整个测试版就完成了,只需要一些调整。当我去度假时,这是团队其他成员会做的事情

度假回来后,整个项目取得了巨大成功,其功能深受客户欢迎

所以,所需材料:小房间、笔、纸、床、大量咖啡、食物和放松。远离电脑,懒惰一点。(我所说的懒惰是指:避免立即编写代码。想想看,这会让人们觉得你什么都没做……)


当为他人设计要实现的东西时,您需要自己完成设计的第一部分,尽可能完整。只需坚持做大事,让团队为小事增加空间。最重要的是:依靠你的团队在某个时刻接管你的工作,并准备好一旦他们开始行动就后退

使用UML、CRC卡和其他人编写的视频通话。另外,类似这样的服务将允许您在任意数量的参与者之间共享您的桌面和任何文档。

不要在一个大型的“全有或全无”会话中使用它,在这个会话中,您试图设计系统的所有类

从1到2个功能开始。不要开单一的大型会议,而要开快速的小型会议来评估这些功能。您将能够将学到的经验教训应用到下一个课程中。如果需要,它还可以让你深入了解细节

如果这将与现有代码集成