如何与Matlab协同工作?
对于一个项目,我们必须编写一个 Matlab 模拟,并希望将工作分配给几个人。由于涉及一些非专业程序员,并且我们正在处理一个简短的项目,我们希望保持简单并使用 Dropbox,因此不涉及版本管理系统。
这样做的可能性有哪些?我们如何最好地拆分功能?如何将程序分割成多个文件?
For a project we have to write a Matlab simulation and would like to split the work over several persons. As there are some non-professional programmers involved and we are dealing with a short project we want to keep it simple and use Dropbox, so no version management system involved.
What are possibilities to do this? How do we best split the functions? How do you split the program into several files?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用版本控制,以便您可以跟踪谁破坏了什么,并定期提交,以便版本控制有意义。
使用
设计程序,以便不同的人可以同时处理它。将其分成几个文件,您可以独立测试它们的正确性。有专业程序员负责骨干(主函数、类定义)。需要一致的界面和文档,因此很容易将它们组合在一起。
经常互相交谈。在很多情况下,不一定要举行大型正式会议,只需转身说“嘿,你能看一下这个吗?”通常就足够了。你们都需要知道谁在做什么,以及他们的立场,以便在出现问题时知道该与谁交谈。通过与相关人员交谈而不是试图理解他们的代码来解决问题要快得多。
Use version control so that you can keep track of who broke what, and commit at regular intervals so that there is a point to version control.
Design the program such that different people can work on it at the same time. Split it into several files which you can independently test for correctness. Have a professional programmer be responsible for the backbone (main function, class definition). Require consistent interfaces and documentation, so it's easy to stick it all together.
Talk to one another frequently. It doesn't have to be large formal meetings in many cases, just turning around and saying "hey, can you look at this?" is often enough. You all need to know who works on what, and where they stand, so that you know who to talk to in case there are questions. It's just so much faster to solve an issue by talking to the person involved rather than by trying to understand their code.
我会使用版本控制 - 从长远来看它可以避免很多问题。
Git 的优点在于没有中央存储库,因此每个人都拥有自己的版本。
根据我的经验,“非程序员”喜欢这一点,因为他们喜欢摆弄(和破坏)他们的版本。
和 git clone http://whatever 一样,作为获取发行版的方法可能很简单得到。
您需要知道何时进行了更改。例如:您发现一个错误,但不确定是否需要重新运行之前的模拟(该错误是什么时候引入的? - 它会影响这样那样的模拟吗?)。如果没有版本控制,发现错误是一个很大的压力,因为您无法确定这些问题的答案。
I would use version control - it saves lots of problems in the long run.
Git is good in that there is no central repository - and so everyone owns their own version.
This, in my experience is liked by 'non-programmers' as they like to fiddle (and break) their version.
And
git clone http://whatever
, as a method of obtaining a distribution is probably as easy as it gets.And you will need to know when changes were made. For example: you find a bug and are not sure if you need to rerun the previous simulations or not (when was the bug introduced? - does it affect such and such a simulation?). Without version control finding bugs is a major stress because you cannot be sure of the answers to these questions.