Cel mai bun răspuns
Practic, codul boilerplate este un cadru pentru proiectul dvs.
Să presupunem că trebuie să prototipați rapid un produs pentru client în anumite tehnologii. Fără boilerplat, ar trebui să începeți de la zero sau un șablon generat de CLI, care nu se potrivește întotdeauna cu stilul dvs. de a face lucruri.
Acum imaginați-vă că aveți un mic proiect curat pe care l-ați făcut pentru altul. client în urmă cu puțin timp, care practic are nevoie doar de unele modificări, eliminarea unor linii, adăugarea altora și este practic gata să fie prezentat clientului dvs. Bine, nu?
Acum, a avea un cazan este un al doilea scenariu. Când știți că vor exista unele proiecte care necesită utilizarea anumitor tehnologii / cadru / bibliotecă, puteți să vă reparați o placă, un cazan. Va purta caracteristicile preferate, cum ar fi forma și culoarea (și stilul codului, de asemenea!), Astfel încât să vă puteți concentra cu ușurință pe adăugarea de lucruri și nu pe schimbarea acestora de fiecare dată când doriți să începeți un nou proiect.
Pentru a elabora cu un exemplu, să presupunem că vi se solicită adesea să creați o aplicație în Angular2 + sau React care să prezinte bara laterală cu previzualizarea unor date și antet fix cu comenzi de meniu pe ea. În loc să creați un proiect gol de fiecare dată când vă ajunge un client nou, puteți utiliza doar un cazan gol pentru a vă concentra pe adăugarea de intrări de meniu adecvate, previzualizări și conținut principal.
Pentru a rezuma acest lucru, atunci când știți veți avea o mulțime de proiecte similare în viitor, un cazan este un economisitor de timp 🙂
Răspuns
Elazar a avut câteva puncte grozave (în special evitând excepțiile verificate), dar eu „Voi adăuga propriile recomandări datorită A2A 🙂
Nu aveți neapărat nevoie de Guava pentru a evita excepțiile verificate. În schimb, puteți arunca excepții în timpul rulării. Este exact atunci când aveți nevoie de cod care aruncă deja aceste excepții verificate, care sunt problema. Dacă doriți, le-ați putea surprinde în mod explicit și aruncați excepții în timpul rulării.
Polimorfismul este o modalitate de a evita scrierea unei metode pentru a gestiona fiecare tip derivat din aceeași clasă copil.
Reflecție vă ajută să refolosiți și codul. Poate doriți să puteți renunța la o clasă într-un director și să fie recunoscută ca o „componentă nouă” pe care software-ul dvs. o poate folosi. Puteți să-l detectați și să-l utilizați prin reflecție, mai degrabă decât să fiți nevoit să îl conectați împreună cu celelalte componente printr-un cod repetitiv explicit.
Cadrele sunt o modalitate de a evita și unele tipuri de cazane. Uneori, ei încurajează boilerplate, dar alteori fac lucruri pentru dvs. Ați putea încerca adnotări de primăvară pentru a evita trecerea în mod explicit a lucrurilor.
De ce pare că orice alt răspuns legat de Java pe care îl scriu include un link către acest articol ? Oricum, refactorizarea în acest fel vă poate ajuta să reduceți boilerplate, cu funcții minuscule, foarte reutilizabile.
De asemenea, din articolul Wikipedia din cod Boilerplate :
„Necesitatea de cazan poate fi redusă prin mecanisme la nivel înalt, cum ar fi metaprogramare (care are computerul să scrie automat textul necesar pentru cazan), convenție peste configurare (care oferă valori implicite bune, reducând necesitatea specificării detaliilor programului în fiecare proiect) și modelul -inginerie direcționată (care folosește modele și generatoare de model-la-cod, eliminând necesitatea codului manual al cazanului). „