Sfondo
Ho programmato principalmente in Python negli ultimi anni e principalmente nei miei progetti. Ho sviluppato alcune mie piccole convenzioni stilistiche come lasciare 4 numeri di linee vuote tra le classi e 1-2 linee tra i metodi, ecc.
Attualmente mi sono trasferito in un'azienda con 8 sviluppatori che sviluppano principalmente in Ruby e Rails. C'è una certa mancanza generale di buone pratiche popolari in tutto ciò che riguarda il codice; design di codice errato, alto accoppiamento, nessuna astrazione, codifica vecchio stile, nessuna documentazione centrale, mix di elementi di basso livello nelle viste in un framework MVC ecc.
Che cosa è successo
Nel tentativo di creare codice riutilizzabile, ho eseguito una piccola libreria di 20 righe come di seguito (ho modificato alcune cose ma ho cercato di mantenere i punti principali il più vicino possibile).
Codice:
module CarNaming
def build_car_name_table()
# .. stuff here ..
end
CAR_NAMES = build_car_name_table()
# ------------------------------- API --------------------------------
def car_model_to_name(car_model)
# .. stuff here ..
end
end
Alcuni giorni dopo ho ricevuto un'email da uno dei principali sviluppatori di conduttori CC: l'altro sviluppatore principale e l'architetto. L'email ha letto qualcosa di simile qui sotto:
Dear x,
Regarding your latest code on file y, I would suggest to make .. (some technical stuff)..
Also, should I need to remind you to run rubocop against the code before commiting?- it's a mess.
Kind regards, z
Ho provato a vederlo a occhi aperti, quindi sono andato l'altro giorno a chiedere qualche chiarimento. Mi ha spiegato i cambiamenti tecnici e il motivo per cui erano necessari. Li ho accettati nel modo più umile che potevo e ho solo sollevato la mancanza di documentazione che avrebbe potuto prevenirlo (qualcosa su cui non ha commentato).
Tuttavia, quando si è trattato dello stile di codifica, ha menzionato alcune cose. Il punto principale era che cercavano di seguire le convenzioni di Rubocop (un codice di analisi statica).
Gli avvisi automatici erano simili al seguente:
Warning: extra blank line at line x
Warning: extra blank line at line y
Warning: extra blank line at line z
Warning: parenthesis not necessary when calling a method
..
Va bene - abbiamo deciso di sistemarlo sul posto. Ciò che mi ha infastidito è stato quando ha rimosso la linea con i trattini ha esclamato ".. e questo è un disastro" (per la seconda volta).
Domanda
Ho provato a non prendere nulla personalmente ma non posso negare che ho trovato i commenti "confusione" piuttosto fastidiosi. Principalmente da me, avere spazi bianchi e alcune intestazioni per me aggiunge leggibilità rispetto al contrario. Ma come puoi discuterne con qualcuno? Soprattutto se sei il nuovo ragazzo e l'altra persona è in una posizione superiore a te? Vale la pena parlare di questo?