如何避免SRP混乱?

dan*_*car 4 php oop

通过应用SRP原则,您必然会有很多课程.如果这适用于小型项目,您如何处理和组织大型项目的类数量?

  • 你如何组织文件夹结构?
  • 你怎么记得你建造的?
  • 你怎么知道其他人是否在其他课堂上没有相同的功能?

Dam*_*S8N 5

这适用于所有类型的库.不只是SRP.

课程/功能的组织可能很令人头疼,但实际上你需要记住的只有一些事情.

  1. 计划.
  2. 为文件,类,文件夹,方法/函数和变量定义并保持适当的命名约定.
  3. 通过系统的主要肌肉群将您的班级分成名称空间或至少分成子文件夹.
  4. 文档:内部(好的评论,文件标题和公共方法列表)和外部(维基,自述文件,excel,某些东西)

我指的是2:/library/muscleGroup/useType_nameOfClass.php对于文件/文件夹,其中useType类似于"factory""abstract""data/dto"或者你正在使用的任何模式.然后,在每个文件中,类应该与nameOfClass完全相同,并且每个方法名称应严格遵循模式.[Action][on what][with what conditions]并保留一份行动清单和"最新情况"并严格遵守它们.

这样做,你不能复制功能,因为你可以轻松找到适合你想要的东西的类和方法.因为他们有像Get_User_ByIdGet_Transactions_ByNewest或的逻辑名称Combine_Ingredients_FromRecipes.

最后一个可能在它上面有一个评论,如:

// Combines many recipes into one ingredient list
//   $recipes = an array of recipe objects
//   returns an array of ingredient objects with their correct quantities
Run Code Online (Sandbox Code Playgroud)

示例操作列表:(应该非常通用并适用于任何应用程序)

  • 得到
  • 删除
  • 移动
  • 合并
  • 结合

样本列表"On What":(应该是特定于应用程序的)

  • 用户
  • 成分
  • 食谱
  • 测量
  • 允许
  • 广告