pointfreeco / episode-code-samples

💾 Point-Free episode code.
https://www.pointfree.co
MIT License
957 stars 295 forks source link

modularization folders architecture #109

Closed amine2233 closed 2 years ago

amine2233 commented 2 years ago

tank you for your awesome work

i have a question about architecture all the folders and sub-folders, in modularization project.

what is the differences between this two approaches ?

first approach

we put each modules in separated module like bellow

|- Module-1
  |- Package.swift
  |- Source
    |- Module-1
  |- Tests
    |- Module-1-Tests
|- Module-2
  |- Package.swift
  |- Source
    |- Module-2
  |- Tests
    |- Module-3-Tests
|- Module-3
  |- Package.swift
  |- Source
    |- Module-3
  |- Tests
    |- Module-3-Tests
|- Module-4
  |- Package.swift
  |- Source
    |- Module-4
  |- Tests
    |- Module-4-Tests

we put each modules in one Root module like bellow

|- RootModule
  |- Package.swift
  |- Source
    |- Module-1
    |- Module-2
    |- Module-3
    |- Module-4
  |- Tests
    |- Module-1-Tests
    |- Module-3-Tests
    |- Module-3-Tests
    |- Module-4-Tests

Whats is Pro and Cons between this two approaches

Xcode issue ? when importing the modules ? Conflict Dependencies if each module use same dependency example (Module1 & Module3) use same dependency (Alamofire) ? Maintain ? TimeBuild ? Git ?

stephencelis commented 2 years ago

@amine2233 I'm going to convert this to a discussion, as we typically use issues for bug tracking.