Annons

Vi har redan gått igenom dig mest väsentliga programmeringsprinciper 10 grundläggande programmeringsprinciper Varje programmerare måste följaSkriv alltid kod som kan upprätthållas av alla som kan sluta arbeta med din programvara. För detta ändamål är här flera programmeringsprinciper som hjälper dig att rensa upp din handling. Läs mer du behöver veta om, men det finns en annan klass med programmeringsprinciper som kan bevisa ännu gynnsammare än dem.

Medan ovannämnda principer lär dig hur du ska vara smart med din kod kommer följande principer att lära dig att vara klok med din kod. Vissa av dem är konstiga, och många av dem är humoristiska, men de är alla lika praktiska och viktiga. Se upp!

1. Uppblåsningsprincipen

Den här har så många variationer att det är svårt att välja en som den viktigaste. Den kanske mest "officiella" versionen är lagen om mjukvara som är mer känd Zawinskis lag, uppkallad efter Jamie Zawinski och nämns i Konsten att UNIX-programmering:

”Varje program försöker expandera tills det kan läsa e-post. De program som inte kan utvidgas så ersätts av sådana som kan. "

instagram viewer

Det talar om programmens tendens att locka fler och fler funktioner över tid och oundvikligen driva mot ökande komplexitet. Du kanske känner till detta som funktion krypa, vilket är det pågående tillägget av nya funktioner som inte har något att göra med programmets huvudsyfte. Funktionskryp leder till uppblåsthet och uppblåsning är ofta oönskad.

Detta kan också gälla för mjukvaruprestanda:

"Programvaran expanderar för att konsumera alla tillgängliga resurser."

Tillbaka på 90-talet var hårddiskar och CPU och RAM mycket mer restriktiva än de är idag och programmerare arbetade hårt för att passa så mycket de kunde inom gränserna. Men nu när vi har större enheter och snabbare CPU och mer RAM kämpar vi fortfarande för att respektera gränser. Allt blir uppblåst med tiden. Det är ditt jobb att hålla det i schack.

De konstigaste programmeringsprinciperna som du aldrig har hört talas om att programmera bärbar datormac

2. Den "värre är bättre" mentaliteten

Nästan som om vi svarar på uppblåsningsprincipen, har vi Värre är bättre mentalitet, myntades först av Richard P. Gabriel skrev i en uppsats som han skrev om mjukvarukvalitet:

"Programvara som är begränsad, men enkel att använda, kan vara mer tilltalande för användaren och marknaden än omvänt."

Med andra ord är det klokt att ta reda på ett problem din programvara syftar till att lösa och sedan vara mycket bra vid den ena saken. Håll det enkelt. Ju mer du sprider dig själv tunnare, desto mer hanterbart kommer projektet att bli, och desto mer oönskat blir det för användare.

Vad händer när du ignorerar detta? Du hamnar med Programvara Peter princip:

"Ett alltför komplicerat projekt kommer så småningom att bli för komplicerat för att förstå även av sina egna utvecklare."

Det kommer från det bredare Peter Principle, som säger att när anställda befordras baserat på deras nuvarande kompetens och inte deras förväntade kompetens vid deras nästa position, alla anställda hamnar så småningom i en position av inkompetens. Ta den principen och tillämp den på programvara, så ser du varför sämre programvara ofta kan vara bättre.

3. Eaglesons lag

"Alla egna koder som du inte tittade på i sex eller fler månader kan lika väl ha skrivits av någon annan."

Detta till synes demotiverande talesätt är faktiskt något att omfamna. Faktum är att ingen är perfekt. Du kanske tror att du är en genial programmerare just nu, men det finns det alltid något mer du kan lära dig, alltid mer utrymme att växa. Om du någonsin tittar tillbaka på gammal kod och kryper, betyder det antagligen du har lärt dig något nytt sedan dess.

Säg på ett annat sätt: om du ser tillbaka på ett gammalt projekt och du inte kan se någonting du kan förbättra eller skulle göra annorlunda nästa gång, har du förmodligen stagnerat som programmerare.

4. Principen för minst förvånande

"Om en nödvändig funktion har en hög förvånansfaktor kan det vara nödvändigt att göra om funktionen."

Först publicerad i IBM Systems Journal redan 1984 är denna princip fortfarande överraskande relevant idag - kanske mer än någonsin tidigare.

Den berör i huvudsak den känsliga balansen mellan innovation och kännedom: om en mjukvara är det för annorlunda från andra i sitt slag och inte överensstämmer med användarens förväntningar de kommer antagligen inte att anta det. Det är bättre att sträva efter stegvisa förbättringar som är precis tillräckligt stora för att vara imponerande men små nog att hålla sig bekanta.

De konstigaste programmeringsprinciperna som du aldrig har hört talas om att programmera bärbar datakaffe

5. Law of Cybernetic Entomology

"Det finns alltid ytterligare ett fel."

Ofta kallad Lubarskys lag för cybernetisk entomologi, det är oklart vem denna Lubarsky egentligen är. Men hans princip gäller för alla programmerare: oavsett hur rent du skriver din kod, oavsett hur robust testar du dina moduler, oavsett hur ofta du refaktorerar dina klasser, kommer det alltid att finnas ett annat fel.

På ett sätt är detta en frigöringsprincip. Medan vi definitivt borde sträva för felfri kod är det också viktigt att komma ihåg att perfektionism är godens fiende. Leta efter buggar, fixa dem när de uppstår och gå vidare.

6. Kernighans lag

”Felsökning är dubbelt så svårt som att skriva koden i första hand. Därför, om du skriver koden så smart som möjligt, är du per definition inte tillräckligt smart för att felsöka den. ”

Brian Kernighan, samma som medförfattare B-programmeringsspråket Bibeln Varför C-programmering fortfarande är värt att lära sigC är inte ett dött språk. Faktum är att IEEE Spectrum magazine rankade det som toppspråket nr 2 under 2017. Här är fem skäl till varför. Läs mer , är känd för denna insiktsfulla lag. Kärnan i det är detta: skriv Bra kod, skriv läsbar kod, skriv enkel koda, någonting så länge det inte är duktig koda.

Att försöka flexa dina programmeringsmuskler med elfenbenstorns komplexitet är precis motsatsen till vad det betyder skriva ren och bättre kod 10 tips för att skriva renare och bättre kodAtt skriva ren kod ser lättare ut än det faktiskt är, men fördelarna är värda det. Så här kan du börja skriva renare kod idag. Läs mer . Ju svårare din kod är att förstå, desto svårare blir det att felsöka när den oundvikligen går sönder.

Och som Robert C. Martin förklarar, det handlar inte bara om felsökning heller:

”Faktum är att förhållandet mellan tid och läsning jämfört med skrivande är över 10 till 1. Vi läser ständigt gammal kod som en del av ansträngningen att skriva ny kod... [Därför] gör det lätt att läsa gör det lättare att skriva. ”

De konstigaste programmeringsprinciperna som du aldrig har hört talas om programmering av gummi anka

7. Debugging av gummianden

Den här är inte så mycket en princip som det är en teknik, men det är så hjälpsamt och konstigt att vi skulle få förmågan att lämna den ute.

Första berättade i Den pragmatiska programmeraren, felsökning av gummi anka är när du felsöker trasig programvara genom att förklara din kod till ett livlöst objekt (t.ex. en gummi anka) en rad i taget. Det fungerar eftersom förklaringshandlingen utlöser olika delar av din hjärna, och du är mer benägna att upptäcka inkonsekvenser och ta reda på var du gick fel.

Av denna anledning kan en gummi anka vara en överraskande snygg gåva för programmerare De bästa geekgåvorna för programmerare: 20 idéer för kodare och nördarLetar du efter en present till en programmerare? Här är de bästa geekgåvorna, allt från mekaniska tangentbord till stående skrivbord och mer. Läs mer , oavsett om du köper det för dig själv eller för en programmeringskompis till dig.

8. Den nittionittio regeln

”De första 90 procenten av koden står för de första 90 procenten av utvecklingstiden. De återstående 10 procenten av koden står för de andra 90 procenten av utvecklingstiden. ”

Det här fräcka lilla ordspråket av Tom Cargill får kärnan till varför programmering kan vara så frustrerande: oavsett hur nära du tror att du är färdig, så är du mycket längre bort än till och med dina bästa uppskattningar. När du tror att du är klar är du bara halvvägs där.

Det går hand i hand med Hofstadters lag:

"Det tar alltid längre tid än du förväntar dig, även om du tar hänsyn till Hofstadters lag."

De konstigaste programmeringsprinciperna som du aldrig har hört talas om för kaffebryggare för kaffebryggare

9. Parkinsons lag

"Arbetet expanderar för att fylla den tillgängliga tiden för att den är klar."

Denna ena princip, myntad av Cyril Northcote Parkinson, är en bredare princip som absolut gäller för programmering och går hand i hand med Ninety-Ninety regel ovan: hur mycket tid du äntligen måste avsluta ett projekt är exakt hur länge det kommer att ta. Inom mjukvaruutveckling är ”efterbehandling tidigt” ganska mycket en myt.

Parkinsons lag är orsaken till att korrekta tidsfrister är avgörande om du vill avsluta och skicka din programvara. Det är därför som moderna professionella programmerare rekommenderar ofta smidiga principer för projektledning Hur man använder agila projekthanteringsprinciper för att organisera ditt livAgile, bäst känd som en projektledningsmetod, är en bra ram för att hantera ditt personliga liv. Vi visar vilka principer du kan låna - gratis nedladdning av kalkylbladet ingår! Läs mer och projektledningsverktyg som Asana Trello vs. Asana: Det bästa gratis projekthanteringsverktyget är ...Att välja mellan Trello och Asana är svårt. Här jämför vi gratisplanerna och hjälper dig att avgöra vilket projekthanteringsverktyg som är bäst för ditt team. Läs mer .

10. Brook's Law

"Att lägga till arbetskraft i ett sent programvaruprojekt gör det senare."

Nästa gång du kommer sent på ett projekt, vilket troligtvis eftersom de flesta programmeringsprojekt behöver mer tid än tilldelat, kom ihåg att lägga till kodare inte kommer att lösa det snabbare.

I själva verket kommer det antagligen ta längre att slutföra. Inte bara behöver du ta upp de nya kodarna / hastigheterna, de kommer troligen att kollidera med de befintliga kodarna. Fler saker kommer att behöva dokumenteras, mer byråkrati kommer att behövas för att hålla alla på samma sida och mer friktion kommer ut ur hela crunch-tiden.

Gå framåt som programmerare

Nu när du känner till dessa principer är du faktiskt bättre lämpad för verkliga världen av programmering, inte bara vad du har stött på i skolan, på en webbkurs eller i en startcamp. Dessa principer kommer från många års erfarenhet och misslyckanden.

Med denna nyfundna visdom kan du nu ange en programmeringskarriär med hög efterfrågan 10 datorprogrammeringsjobb som krävs just nuEftersom det kan vara tufft att landa ett programmeringsjobb i det aktuella landskapet, kan du överväga att fokusera på en av följande koncentrationer för att förbättra dina chanser att lyckas. Läs mer med mer realistiska förväntningar. För det, lära dig hur maximera dina programmerings karriärmöjligheter Hur du kan förbättra dina programmeringsmöjligheterOm du hoppas kunna starta, starta om eller på annat sätt förbättra din programmeringskarriär är det inte lätt. Om du är på college är tiden nu. Här är några tips som kan ta dig långt. Läs mer . Och om du bestämmer dig för att programmering inte är för dig, oroa dig inte - tänk på en av dessa istället tekniska jobb som inte kodar Kodning är inte för alla: 9 tekniska jobb som du kan få utan detBli inte avskräckt om du vill vara en del av det tekniska området. Det finns gott om jobb för människor utan kodningsförmåga! Läs mer .

Vilka av dessa principer är riktigt för dig? Känner till andra konstiga programmeringsprinciper som vi missade? Låt oss veta det i kommentarerna nedan!

Joel Lee har en B.S. inom datavetenskap och mer än sex års yrkeserfarenhet. Han är chefredaktör för MakeUseOf.