首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >随着项目变得越来越大,我的工作效率也在下降。如何随着项目规模的增加而提高生产率?

随着项目变得越来越大,我的工作效率也在下降。如何随着项目规模的增加而提高生产率?
EN

Stack Overflow用户
提问于 2009-07-01 03:36:28
回答 23查看 985关注 0票数 7

我最初是从一个小项目开始的,用notepad++编辑php文件之类的。过去很容易想到一个特性,并将其作为一个单独的文件添加到项目中。随着项目变得越来越大,我的工作效率开始下降,因为我不能记住我做的所有函数,以及它们存储在哪里等。然后,我添加了集成开发环境(PhpEd)和SVN,然后注意到工作效率有了很大的提高。

我发现自己的生产力再次减慢(因为一切都变得太复杂了).The项目已经从大约20个文件--> 100个文件,变得难以在我的头脑中管理所有文件(甚至使用集成开发环境)。我想知道人们是否有关于我可以做些什么来再次提高生产力的建议。(下一级是什么?如果有的话)

有没有软件工具或小贴士教你如何进行程序设计/至少让事情变得更直观?

我知道没有什么灵丹妙药,但任何想法都会有所帮助。

例如,除了IDE/SVN之外,你们还会使用某些工具来打发时间吗?另外,你是否以某种方式编写代码,这样这在将来就不会成为问题了?(请详细说明)。

EN

回答 23

Stack Overflow用户

回答已采纳

发布于 2009-09-18 14:11:19

冷酷的事实是,开发人员的效率将随着项目规模的下降而下降。这一点早在几十年前就已经知道了。有一些方法可以帮助你,但它们确实需要一些纪律。

最好的解决方案是进入更高的抽象级别。编写将用作构建块的例程,您可以将其作为标准库或语言构造来使用。记录它们的接口,并且只对接口进行编程。如果你曾经觉得你需要知道你没有在工作的例程是如何实现的,你要么使用错误了,要么没有对接口进行足够的文档记录。缓慢地添加到界面,缓慢地删除任何东西,并记住,改变它的元素可能会严重影响你。

地点是你的朋友。你越能专注于一小块地方,你就会过得越好。对接口进行编程有助于实现这一点。保持例程的内聚性有助于实现这一点,因此例程一次只做一件事。

面向对象是非常有用的,因为它促进了以上两个方面的发展。它促进了接口的封装和编码,并将相关的代码片段组合在一起。

测试驱动的开发对于强制对接口进行编程很有价值。基于接口编写测试,而不是基于实现。这有一个很好的副作用,那就是测试套件本身有助于定义接口。如果它没有被测试过,你就不能指望它。确保你可以轻松地运行测试套件,并养成这个习惯。

重构将是必要的。做好计划,尤其是在改变任何事情的时候。你需要干净的代码。此外,您将不可避免地发现将功能放在了错误的位置。

还要记住,所有这些都不会完全解决问题。大型软件项目本质上是困难的。

票数 6
EN

Stack Overflow用户

发布于 2009-07-01 03:49:28

绘制和/或写出它。如果你说“一切都在你的脑海中”,那么从编码中抽出一些时间来记录你的工作。这可以包括解释你为什么要做某事的段落。

图表和其他视觉效果也可以帮助你保持条理清晰。

我发现一些程序员忽略了项目中的非技术因素。对于没有团队结构来指导他们的开发人员来说,这一点尤其正确。您的工作不仅仅是代码,您应该查看流程的各个方面。

票数 12
EN

Stack Overflow用户

发布于 2009-07-01 03:47:25

永远不要以在记事本中编辑代码为荣!IDE可以节省您的时间,提高您的效率。当项目变得很大时,你应该注意项目管理,并坚持一个有效的“过程模式”,如RUP (Rational Unified Process),EUP或OOSP。你的SVN是供应链管理的一部分。当然,对于文件管理问题,在Pattern.As中定义的活动要多得多,您可以将它们划分为不同的包,并将它们保存在不同的位置。如果你对“软件工程”没有任何概念,你可以参考一些Scott W Ambler或其他人写的关于SE(软件工程)的书。记住,软件远不止是代码!

一个优秀的开发人员知道,除了编程之外,还有更多的事情要做。一个伟大的开发者知道开发比开发更重要。 By Scott W Ambler

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1067160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档