Ci sono molte risposte qui che affrontano i pro e i contro tecnici di mantenere LOC basso e se si tratta di una metrica software di qualità significativa. Non è questa la domanda. Di cosa si tratta è come gestire la gestione che insiste su un'ingenua aderenza dogmatica a una particolare regola empirica di codifica.
Purtroppo, è abbastanza comune per le persone aggrapparsi a cose che sono buoni consigli se usate nel giusto contesto e applicate pragmaticamente, portarle fuori da quel contesto e applicarle dogmaticamente senza riuscire ad apprezzare i problemi che i consigli esistono per mitigare in primo luogo .
L'intento di un consiglio riguardo a mantenere il LOC basso è quello di evitare la creazione di metodi che provano a fare troppo in una volta sola e di scoraggiare la creazione di "classi divine", che conoscono troppo gli aspetti di un progetto che non sono loro responsabilità diretta e da cui dipendono tutte le altre classi del sistema. Un altro vantaggio del codice più breve è che è più leggibile, anche se come hai sottolineato, puoi esagerare al punto in cui la leggibilità inizia effettivamente a soffrire.
Ci sono evidenti vantaggi in termini di LOC bassi (i metodi più piccoli si adattano alla tua testa più facilmente di quelli grandi, meno cose nel codice significano meno cose che vanno male, ecc.), Ma sono anche soggette alla legge dei rendimenti decrescenti. Rifattorizzare un metodo a 150 linee in un numero di metodi a 20 linee è una vittoria molto maggiore rispetto al rifattorizzare un metodo a 10 linee in un metodo a 7 linee.
Quando tale refactoring viene a scapito di qualche altro aspetto del buon design del software (come la leggibilità), hai raggiunto un punto in cui puoi giustificare di non farlo. Rimuovere variabili che danno contesto al significato del codice e sostituirle con valori letterali che non lo fanno è una cosa molto brutta da fare. Il buon codice non contiene quasi letterali. Tuttavia, queste variabili (e le costanti nominate) sono linee di codice che non contribuiscono direttamente al programma e quindi se LOC viene venerato come una sorta di dio, tali linee di chiarimento sono in grande pericolo di essere potate per una rapida vittoria e qualche elogio fuorviato dalla direzione.
Credo che tu sia abbastanza intelligente per rendertene conto, in effetti è praticamente la spinta della tua domanda originale. Il problema non è la tua comprensione di quando la riduzione del codice è buona e quando non lo è, il problema è il dogmatismo nell'applicare indiscriminatamente quella che normalmente è una pratica ragionevole.
Consiglierei di prenderti il tempo di chattare con la tua direzione, spiegando la tua posizione e perché ritieni che ciò che ti viene chiesto di danneggiare il codice piuttosto che aiutarlo. Cerca di evitare di essere conflittuale, ma cerca di rimanere razionale e calmo durante una simile discussione. È importante che la direzione capisca che la programmazione è un'attività pragmatica e che i consigli sulle migliori pratiche sono utili solo se applicati in modo pragmatico. La migliore pratica è scritta in un libro, non scolpito nella pietra, e quando è in conflitto (codice breve contro codice leggibile) spetta al programmatore applicare il proprio giudizio su quale migliore pratica seguire. Speriamo che siano persone ragionevoli che apprezzano input come questo.
Devi anche essere un po 'coraggioso, perché se sei sotto pressione per ridurre LOC dove pensi che non sia necessario o inappropriato, è naturale che tu faccia il cambiamento comunque per il bene di una vita tranquilla. Devi resistere nel fare questo, e devi "possedere" quella decisione. In una situazione in cui la gestione è ragionevole, non dovresti rispettare esattamente le loro linee guida, ma dovresti essere in grado di giustificare qualsiasi circostanza in cui non lo fai.
Purtroppo, le persone possono essere irrazionali, soprattutto quando si tratta di persone inferiori sull'ordine di beccare in discussione le loro decisioni e le regole che ti hanno imposto. Potrebbero scegliere di non essere ragionevoli. Devi essere preparato anche per quello. Se riesci a dimostrare casi in cui le migliori pratiche LOC entrano in conflitto diretto con altre migliori pratiche e perché ciò danneggia il prodotto, e se puoi farlo in porzioni della base di codice per le quali hanno avuto un coinvolgimento personale scarso o nullo (quindi non sembra un attacco personale al loro lavoro o al lavoro che hanno supervisionato), quindi questo può aiutare a sostenere la tua discussione. Ancora una volta, devi essere preparato a giustificarti in un modo calmo e razionale ed essere in grado di "possedere" gli argomenti che stai facendo.
A condizione che la tua gestione sia composta da persone ragionevoli, allora devono apprezzare che ciò che stai dicendo ha valore se puoi fornire prove a sostegno delle tue affermazioni.
s/\n/ /g
), ciò non significa che sarà nemmeno leggibile da remoto