Elementen i programmeringsstil

The Elements of Programming Style.jpg
Omslag till andra upplagan
Författare Brian W. Kernighan och PJ Plauger
Publicerad McGraw-Hill
Publiceringsdatum
1978
Sidor 168 sidor
ISBN 978-0070342071

The Elements of Programming Style , av Brian W. Kernighan och PJ Plauger , är en studie av programmeringsstil , som förespråkar föreställningen att datorprogram inte bara ska skrivas för att tillfredsställa kompilatorn eller personlig programmeringsstil, utan också för "läsbarhet" av människor, särskilt ingenjörer för mjukvaruunderhåll , programmerare och tekniska skribenter . Den publicerades ursprungligen 1974.

Boken hyllar uttryckligen, i titel och ton, till The Elements of Style , av Strunk & White och anses vara en praktisk mall som främjar Edsger Dijkstras strukturerade programmeringsdiskussioner . Den har varit inflytelserik och har gett upphov till en serie liknande texter skräddarsydda för individuella språk, som The Elements of C Programming Style , The Elements of C# Style , The Elements of Java(TM) Style , The Elements of MATLAB Style , etc.

Boken bygger på korta exempel från faktiska, publicerade program i programmeringsläroböcker. Detta resulterar i en praktisk behandling snarare än en abstrakt eller akademisk diskussion. Stilen är diplomatisk och allmänt sympatisk i sin kritik, och ogenerat ärlig också - några av de exempel som den finner fel på är från författarnas eget arbete (ett exempel i den andra upplagan är från den första upplagan).

Lektioner

Dess lärdomar sammanfattas i slutet av varje avsnitt i snälla maximer , som "Låt maskinen göra det smutsiga arbetet":

  1. Skriv tydligt – var inte för smart.
  2. Säg vad du menar, enkelt och direkt.
  3. Använd biblioteksfunktioner när det är möjligt.
  4. Undvik för många tillfälliga variabler.
  5. Skriv tydligt – offra inte klarhet för effektivitet.
  6. Låt maskinen göra det smutsiga arbetet.
  7. Ersätt repetitiva uttryck med anrop till vanliga funktioner.
  8. Sätt i parentes för att undvika oklarheter.
  9. Välj variabelnamn som inte kommer att förväxlas.
  10. Undvik onödiga grenar.
  11. Om ett logiskt uttryck är svårt att förstå, försök omvandla det.
  12. Välj en datarepresentation som gör programmet enkelt.
  13. Skriv först på ett lättförståeligt pseudospråk; översätt sedan till vilket språk du än måste använda.
  14. Modularisera. Använd procedurer och funktioner.
  15. Undvik gotos helt om du kan hålla programmet läsbart.
  16. Lagra inte dålig kod – skriv om den.
  17. Skriv och testa ett stort program i små bitar.
  18. Använd rekursiva procedurer för rekursivt definierade datastrukturer.
  19. Testa input för plausibilitet och validitet.
  20. Se till att indata inte bryter mot programmets gränser.
  21. Avsluta inmatning med filslutmarkör, inte genom räkning.
  22. Identifiera dålig input; återhämta sig om möjligt.
  23. Gör input lätt att förbereda och utdata självförklarande.
  24. Använd enhetliga inmatningsformat.
  25. Gör input lätt att korrekturläsa.
  26. Använd självidentifierande input. Tillåt standardinställningar. Eko båda vid utgång.
  27. Se till att alla variabler är initierade före användning.
  28. Stanna inte vid en bugg.
  29. Använd felsökningskompilatorer.
  30. Se upp för fel i taget.
  31. Se till att förgrena sig på rätt sätt på jämställdhet.
  32. Var försiktig om en slinga går ut till samma plats från mitten och botten.
  33. Se till att din kod gör "inget" snyggt.
  34. Testa program vid deras gränsvärden.
  35. Kontrollera några svar för hand.
  36. 10,0 gånger 0,1 är nästan aldrig 1,0.
  37. 7/8 är noll medan 7.0/8.0 inte är noll.
  38. Jämför inte flyttalstal enbart för jämställdhet.
  39. Gör det rätt innan du gör det snabbare.
  40. Gör det felsäkert innan du gör det snabbare.
  41. Gör det klart innan du gör det snabbare.
  42. Offra inte klarhet för små effektivitetsvinster.
  43. Låt din kompilator göra de enkla optimeringarna.
  44. Ansträng dig inte för att återanvända kod; omorganisera istället.
  45. Se till att speciella fall verkligen är speciella.
  46. Håll det enkelt för att göra det snabbare.
  47. Använd inte kod för att göra det snabbare – hitta en bättre algoritm.
  48. Instrumentera dina program. Mät innan du gör effektivitetsförändringar.
  49. Se till att kommentarer och kod överensstämmer.
  50. Eka inte bara koden med kommentarer – låt varje kommentar räknas.
  51. Kommentera inte dålig kod – skriv om den.
  52. Använd variabelnamn som betyder något.
  53. Använd påståendeetiketter som betyder något.
  54. Formatera ett program för att hjälpa läsaren att förstå det.
  55. Dokumentera dina datalayouter.
  56. Överkommentera inte.

Moderna läsare kan tycka att det är en brist att dess exempel använder äldre procedurprogrammeringsspråk ( Fortran och PL/I ) som skiljer sig ganska mycket från de som är populära idag. Få av dagens populära språk hade uppfunnits när denna bok skrevs. Men många av bokens punkter som i allmänhet rör stilistiska och strukturella frågor överskrider detaljerna i vissa språk.

Reception

Kilobaud Microcomputing uttalade att "Om du tänker skriva program som ska användas av andra människor, bör du läsa den här boken. Om du förväntar dig att bli en professionell programmerare är den här boken obligatorisk läsning".

  •   BW Kernighan och PJ Plauger, The Elements of Programming Style , McGraw-Hill, New York, 1974. ISBN 0-07-034199-0
  •   BW Kernighan och PJ Plauger, The Elements of Programming Style 2nd Edition , McGraw Hill, New York, 1978. ISBN 0-07-034207-5

externa länkar