Vraag Langdurige, onjuiste programmeringsaannames [gesloten]


Ik doe wat onderzoek naar veel voorkomende fouten en slechte aannames gemaakt door junior (en misschien ook senior) software engineers.

Wat was je langverwachte veronderstelling die uiteindelijk gecorrigeerd werd?

Ik heb bijvoorbeeld verkeerd begrepen dat de grootte van een geheel getal geen standaard is en in plaats daarvan afhankelijk is van de taal en het doel. Een beetje gênant om te stellen, maar daar is het dan.

Wees eerlijk; wat voor een sterke overtuiging had je en hoe lang heb je de veronderstelling gehandhaafd? Het kan gaan om een ​​algoritme, een taal, een programmeerconcept, testen of iets anders over programmeren, programmeertalen of computerwetenschap.


281


oorsprong


antwoorden:


Lange tijd nam ik aan dat iedereen deze superbeheersing had over alle programmeerconcepten (ontwerppatronen, de nieuwste nieuwe taal, computationele complexiteit, lambda-expressies, noem maar op).

Blogs lezen, Stack Overflow en programmeerboeken leken me altijd het gevoel te geven dat ik achter de feiten aan zat die alle programmeurs gewoon intuïtief moeten kennen.

Ik heb me in de loop van de tijd gerealiseerd dat ik mijn kennis effectief vergelijk met de collectieve kennis van veel mensen, niet met één persoon en dat dit voor iedereen een vrij hoge lat is. De meeste programmeurs in de echte wereld hebben een cache van kennis die nodig is om hun werk te doen en hebben meer dan een paar gebieden waar ze ofwel zwak of volledig onwetend van zijn.


545



Dat mensen wisten wat ze wilden.

Voor de langste tijd dacht ik dat ik met mensen zou praten, zouden ze een probleem of werkstroom beschrijven en zou ik het in code beschrijven en automatiseren. Blijkt elke keer dat dat gebeurt, wat ze dachten dat ze wilden, was niet echt wat ze wilden.

Bewerken: ik ben het eens met de meeste reacties. Dit is geen technisch antwoord en is misschien niet waar de vraagsteller naar op zoek was. Het is niet alleen van toepassing op programmeren. Ik weet zeker dat dit ook niet mijn langverwachte veronderstelling is, maar het was het meest opvallende dat ik heb geleerd in de 10 korte jaren dat ik dit heb gedaan. Ik ben er zeker van dat het pure naïveteis van mijn kant was, maar de manier waarop mijn hersenen zijn / waren bedraad en de lessen en ervaringen die ik had voordat ik de zakenwereld binnenging, brachten mij tot het geloof dat ik zou doen wat ik had geantwoord; dat ik code en computers zou kunnen gebruiken om de problemen van mensen op te lossen.

Ik denk dat dit antwoord vergelijkbaar is met Robin's over niet-programmeurs die begrijpen / geven om waar ik het over heb. Het gaat om het leren van het bedrijf als een behendig, iteratief, interactief proces. Het gaat om het leren van het verschil tussen een programmeercode-aap en een softwareontwikkelaar zijn. Het gaat om het besef dat er een verschil is tussen de twee en dat om echt goed te zijn in het veld, het niet alleen syntaxis en typsnelheid is.

Bewerken: dit antwoord is nu community-wiki om mensen boos te maken op dit antwoord en me rep te geven.


308



Dat ik weet waar het prestatieprobleem is zonder profilering


292



Dat ik maar één uitgangspunt van een functie / methode zou moeten hebben.


232



Die niet-programmeurs begrijpen waar ik het over heb.


228



Die bugfree-software was mogelijk.


219



Dat privélidvariabelen privé waren voor de instantie en niet voor de klas.


199



Ik dacht dat statisch typen heel stil op je toetsenbord zat.


166



Dat u een probleem volledig kunt begrijpen voordat u begint met ontwikkelen.


162



Slimme mensen zijn altijd slimmer dan ik.

Ik kan mezelf echt verslaan als ik fouten maak en ik krijg vaak de opdracht om mezelf af te schelden. Ik keek met ontzag naar veel ontwikkelaars en nam vaak aan dat ze meer wisten dan ik X, ze wisten meer dan ik.

Omdat ik steeds meer ervaring opdoe en meer mensen ontmoet, ben ik me dat vaak gaan realiseren, terwijl ze meer weten dan ik in een bepaald onderwerp, maar dat hoeft niet per se slimmer dan ik / jij.

Moraal van het verhaal: Onderschat nooit wat u naar de tafel kunt brengen.


158



Voor de langste tijd dacht ik dat slecht programmeren iets was wat in de marge gebeurde ... dat Doing Things Correct de norm was. Ik ben niet zo naïef deze dagen.


131