Ho un progetto di medie dimensioni (~ 10.000 linee) che funziona su Windows e Linux. Tuttavia, sono solo componenti specifici del programma che dipendono dalla piattaforma e si trovano in una cartella denominata event_producers
.
Ora la mia preoccupazione principale è come organizzare l'organizzazione di questa cartella poiché il progetto inizia a complicarsi e vorrei mantenere l'organizzazione a un livello ottimale.
Organizzazione basata sulla piattaforma:
'-- event_producers
|-- Linux
| '--- monitoring.py
'-- Windows
'--- monitoring.py
Questo sembra più indipendente dall'implementazione, il che è un vantaggio dato che qualcuno può cambiare le cose in futuro senza creare nuovi file. Il problema principale è che nessuno può garantire che ogni programmatore segua lo schema di avere un file con lo stesso nome in ciascuna cartella di piattaforma.
Organizzazione basata sulla progettazione:
'-- event_producers
'-- Monitoring
|-- linux.py
'-- windows.py
Questo non lascia molto spazio al programmatore per organizzare le cose nel modo sbagliato. Ciò che mi dà fastidio è che ho un modulo chiamato linux.py
e windows.py
, qualcosa che non ho mai incontrato in nessun altro progetto. Inoltre, se in futuro deve essere creata una nuova cartella (diciamo Activator
), nessuno può garantire che il programmatore segua lo schema di denominazione dei file in base alla piattaforma.
Domande
- Come organizzeresti il progetto e perché?
- Ci sono altri vantaggi / svantaggi con ogni modo che mi è mancato?