我最初开始使用一个小项目,在记事本中编辑PHP文件等.过去很容易想到一个功能,并将其作为单独的文件添加到项目中.随着项目变得越来越大,我的生产力开始下降,因为我记不起我制作的所有功能,以及它们存储在哪里等等……然后,我添加了一个IDE(PHPEd)和SVN,然后注意到了大大提高了生产力.
我发现自己再次放慢生产力(因为一切都变得太复杂了).这个项目大约有20个左右的文件 – > 100个文件,并且变得难以管理(即使使用IDE).
我想知道人们是否就如何再次提高生产率提出建议. (下一个级别是什么?如果有的话)
关于如何进行程序设计的任何软件工具或技巧/至少可以简化可视化的工作?
我知道没有银弹,但任何想法都会有所帮助.
例如,除了IDE / SVN之外,你们是否使用某些工具来度过这一天.此外,您是否以某种方式编写代码,以便将来不会出现问题? (详情请).
冷酷的事实是开发人员的效率会随着项目规模而下降.这已经数十年了.有一些方法可以帮助,但它们确实需要一些纪律.
最好的解决方案是进入更高的抽象级别.编写将用作构建块的例程,您可以将它们用作标准库或语言构造.记录其接口,并仅对接口进行编程.如果你觉得你需要知道你没有使用的例程是如何实现的,那么你要么使用它错误,要么没有足够的文档记录.添加到界面的速度很慢,删除任何内容的速度都很慢,请记住,更改它的元素会让你感到非常不舒服.
地方是你的朋友.你越专注于一个小区域,你就越好.接口编程有助于此.保持惯例的凝聚力有助于实现这一目标,以便日常工作一次做一件事.
面向对象非常有用,因为它促进了上述两个方面.它促进了对接口的封装和编码,并将相关的代码片段组合在一起.
测试驱动的开发对于强制执行接口编程很有价值.根据接口编写测试,而不是基于实现.这具有良好的副作用,测试套件本身有助于定义界面.如果没有进行测试,则不要指望它.确保您可以轻松地运行测试套件,并养成习惯.
重构是必要的.计划,特别是在更改任何东西时.你需要干净的代码.此外,您将不可避免地发现您已将功能放在错误的位置.
还要记住,这一切都不会完全解决问题.大型软件项目本身就很困难.