C++ bonic

Autors: J. Guy Davidson i Kate Gregory
Editorial: Addison-Wesley Professional
Data: desembre de 2021
Pàgines: 352
ISBN: 978-0137647842
Imprimeix: 0137647840
Kindle: B09HTH1X38
Públic: desenvolupadors de C++
Valoració: 5
Revisor: Mike James
El C++ pot ser bonic?

He explicat abans que tinc una relació d’amor odi amb C++ que es redueix a: m’encanta quan l’escric i odio quan he de llegir el codi d’una altra persona. No hi ha cap llenguatge que es presti més a ser personalitzat i això és un problema quan intentes entendre-lo. Es podria dir que això és perquè C++ és extremadament flexible, però jo diria que és massa flexible. Per tant, no hi ha cap llenguatge més adequat per a un llibre de directrius sobre com escriure codi net, segur i ràpid. M’agradaria afegir “estàndard” a aquesta llista a partir del subtítol del llibre, però l’objectiu del llibre és aconseguir que adoptis les millors pràctiques.

El llibre es basa en les conegudes directrius bàsiques de C++, però presenta les mateixes idees d’una manera més llegible i menys formal. De vegades, això és un problema, ja que no sempre teniu al 100% clar quin és el sentit d’un exemple, però en general això és rar i sobretot és una lectura agradable. El llibre ofereix 30 de les millors directrius bàsiques de C++.

La secció 1 es diu “Bikeshed is dolent”; bé, tinc records feliços de molts coberts de bicicletes, però això és una altra història. El significat aquí és que tendeixes a embolicar-te amb quin color pintar el cobert per a bicicletes en lloc de problemes més importants i tècnics com es mantindrà al vent. Personalment, no m’implico gaire en bikeshedding perquè sóc programador de C++ i, per tant, no faig res trivial. La secció tracta sobre coses com escriure l’estàndard ISO C++, intentar utilitzar arguments predeterminats en lloc de sobrecarregar, utilitzar inicialitzadors, no escriure un getter o un setter tret que faci alguna cosa, un nom per declaració i, finalment, està bé utilitzar diverses declaracions de retorn. en una funció. No he estat mai segur de l’últim. Un programador estructurat de línia dura com jo creu implícitament que un únic punt de sortida de totes les estructures de control és l’única manera d’escriure codi clar.

La secció 2 s’anomena “No et facis mal”, presumiblement una advertència sobre que C++ és una pistola de peu. En aquesta secció trobareu un conjunt de consells coneguts: les llistes de paràmetres de funció haurien de ser petites, no utilitzeu plantilles tret que us ho obliguin, no compartiu dades escrivibles, etc.

La secció 3 s’anomena “Deixa d’utilitzar això”; no, no hi ha una construcció estàndard anomenada “això” només “això”. La idea és que les coses que has estat fent durant un temps potser ja no són la millor manera de fer les coses. Aneu amb compte amb els punters, no creeu singletons, eviteu memset i memcopy, i molt més. Això no ho vaig trobar gaire útil perquè, a part dels singletons, no en faig servir ja.

Secció 4 “Utilitza aquesta propietat de la cosa nova” i no “nou” la paraula clau sinó “nou” la paraula anglesa. Utilitzeu tuples per a diversos valors de retorn, utilitzeu enumeracions de classe, manteniu els àmbits petits, utilitzeu expressions de temps de compilació, utilitzeu plantilles… Què? Vaig pensar que ens havíem de mantenir allunyats de les plantilles? Bé, potser aquest val la pena la complexació en un esforç per ser abstracte.

Secció 5, l’última secció, “Escriu bé el codi per defecte”… Si estic escrivint codi, sempre s’escriu bé per defecte, fins que torni a mirar-ho unes hores més tard quan estigui clar que hauria d’haver-ho fet. evitar l’impagament i posar-hi un esforç. La primera instrucció és intentar escriure codi estàticament segur, que és una altra manera de dir que no escriviu res sofisticat. Preferiu dades immutables a dades mutables i potser alentiu el vostre sistema fins a un rastreig. No declareu una variable fins que no tingueu un valor amb què inicialitzar-la, tant per a les declaracions d’agrupació. Dissenya per permetre l’optimització, però espera, vaig pensar que l’optimització era dolenta.

Conclusió

Es pot dir que no estic d’acord amb tots els sentiments senzills expressats en aquest llibre, però llavors qui diu que ho he de fer. Em va agradar llegir-lo, encara que de tant en tant havia de fer front a mirades de vergonya mentre començava a parlar en veu alta, expressant les meves objeccions urgents. Però no importa: m’ha agradat llegir aquest llibre i si esteu en l’etapa correcta de programació en C++ també ho fareu. No farà que el vostre C++ sigui especialment bonic, i molt menys bonic, però almenys aniràs en la direcció correcta.

Per estar al dia amb la nostra cobertura de llibres per a programadors, seguiu @bookwatchiprog a Twitter o subscriu-te al canal RSS de I Programmer’s Books per a la nova incorporació de cada dia a Book Watch i per a noves ressenyes.

Bandera

.

Leave a Comment

Your email address will not be published. Required fields are marked *