我正在开发的应用程序将为所有用户/客户/项目提供相同的功能(请打电话给你们。)
但是,呈现给用户的HTML表单和用于将它们发送到服务器的AJAX将因每个项目而异。
我在考虑使用Angular constants,ng-show
/ ng-hide
(甚至ng-if
)在HTML和控制器中的开关上,基于常量AJAX发送&接收。
这是一个好方法吗?我可以看到一些项目变得越来越复杂。我应该为每个项目使用不同的视图/控制器吗?我可能会失去一些常见的代码,但它不太可能成为意大利面。
答案 0 :(得分:1)
我建议采用域/(测试)驱动方法。不要先预测过多的代码。
构建通用代码将创建依赖关系,这些关系都是未来重构的潜在受害者。即使在简单的变化的情况下。没有什么比导致雪崩的小修改更耗费时间/更令人沮丧。我已经看到很多项目耗尽时间,因为代码库在开始时过度设计。
我的方法,特别是对于没有明确重复功能概述的更复杂的项目,只是开始设计/构建彼此分开的小功能。就像任何敏捷工作流一样,提供完整的工作功能(工作表单),当您处理功能并注意到之前构建的共享功能时,请创建(明智的)决定将现有代码重构/推广为通用代码。在这个阶段,你可以更好地做出这样的判断。如果您采用了测试驱动的方法(我强烈建议),重构现有代码可以毫不费力地完成。
以这种方式工作可以更好地保证交付并最终获得良好可读的优化代码。
这一切都归结为常识。