Hoe vaak gebruikt u pseudocode in de echte wereld?

stemmen
9

Terug op de universiteit, werd alleen het gebruik van pseudo-code meer dan OOP geëvangeliseerd in mijn curriculum. Net als commentaar (en andere predikte 'best practices'), vond ik dat in crunch tijd psuedocode werd vaak verwaarloosd. Dus mijn vraag is ... die daadwerkelijk gebruikt het een groot deel van de tijd? Of heb je alleen gebruiken als er een algoritme is echt moeilijk om volledig conceptualiseren in je hoofd? Ik ben geïnteresseerd in de reacties van iedereen: nat achter de oren junior ontwikkelaars om dierenartsen die rond terug in de ponskaart dagen waren hagelvlakkig.

Wat mij persoonlijk, ik meestal alleen te gebruiken voor de moeilijke dingen.

De vraag is gesteld op 11/12/2008 om 19:53
bron van user
In andere talen...                            


14 antwoorden

stemmen
5

Ik gebruik pseudocode als u niet op een computer en alleen papier en pen. Het heeft niet veel zin te maken over de syntaxis voor code die niet zal compileren (kan papier niet compileren) te maken.

antwoordde op 11/12/2008 om 19:58
bron van user

stemmen
15

Ik gebruik het de hele tijd. Elke keer dat ik een ontwerp besluit toe te lichten, zal ik het gebruiken. Praten met niet-technisch personeel, zal ik het gebruiken. Het heeft een aanvraag niet alleen voor de programmering, maar ook voor uit te leggen hoe iets wordt gedaan.

Het werken met een team op meerdere platformen (Java front-end met een COBOL backend, in dit geval) is het veel makkelijker om uit te leggen hoe een stukje code werkt met behulp van pseudocode dan het is om echte code te tonen.

Tijdens de ontwerpfase, pseudocode is vooral handig omdat het helpt zie je de oplossing en of het haalbaar is. Ik heb een aantal ontwerpen die zeer elegant, maar om te proberen om ze te implementeren en realiseer me dat ik kon niet eens het genereren van pseudo-keek gezien. Bleek, was de ontwerper nooit geprobeerd na te denken over een theoretisch implementatie. Had hij probeerde te schrijven van wat pseudocode die zijn oplossing, zou ik nooit hebben gehad om 2 weken proberen te achterhalen waarom ik niet kon krijgen om te werken verspillen.

antwoordde op 11/12/2008 om 19:59
bron van user

stemmen
1

Meestal gebruiken voor nutting te zijn echt complexe code, of wanneer het verklaren van code om ofwel andere ontwikkelaars of niet ontwikkelaars die het systeem te begrijpen.

Ik stroom ook diagrammen of het type UML-diagrammen wanneer het proberen te doen boven ook ...

antwoordde op 11/12/2008 om 20:00
bron van user

stemmen
1

Ik gebruik het in het algemeen bij het ontwikkelen van meerdere of andere verklaringen die zijn genest wat verwarrend kan zijn.

Op deze manier hoef ik niet terug te gaan en te documenteren sinds zijn al gedaan.

antwoordde op 11/12/2008 om 20:02
bron van user

stemmen
1

Vrij zelden, hoewel ik documenteren vaak een methode voor het schrijven van het lichaam van het.

Echter, als ik het helpen van een andere ontwikkelaar met hoe je een probleem aan te pakken, zal ik schrijven vaak een e-mail met een pseudocode oplossing.

antwoordde op 11/12/2008 om 20:02
bron van user

stemmen
5

Ik gebruik het bijna altijd tegenwoordig bij het maken van een niet-triviaal routines. Ik schep de pseudo-code als commentaar, en verder uit te breiden totdat ik op het punt dat ik kan schrijven de gelijkwaardige code eronder te krijgen. Ik vond dit een aanzienlijk versnelt de ontwikkeling, vermindert de "gewoon schrijven code" syndroom dat vereist vaak herschrijft voor dingen die oorspronkelijk niet werden beschouwd als het dwingt je om na te denken over het hele proces voor het schrijven van de werkelijke code, en dient als een goede basis voor code documentatie nadat het is geschreven.

antwoordde op 11/12/2008 om 20:02
bron van user

stemmen
1

Ik gebruik geen pseudo-code op alle. Ik ben meer comfortabel met de syntaxis van C-stijl taal dan ik ben met Pseudocode.

Wat ik wel doe heel vaak voor design doeleinden is in wezen een functionele decompositie stijl van codering.

public void doBigJob( params )
{
    doTask1( params);
    doTask2( params);
    doTask3( params);
}
private void doTask1( params)
{
    doSubTask1_1(params);
    ...
}

Die, in een ideale wereld, zou uiteindelijk om te zetten in werkende code als methodes meer en meer triviaal geworden. Echter, in het echte leven, is er een deurklink van een stuk van refactoring en herdenken van het ontwerp.

We vinden dit werkt goed genoeg, want zelden hebben we tegenkomen een algoritme dat zowel: ongelooflijk complex en moeilijk te coderen en niet beter opgelost met behulp van UML of andere modeling techniek.

antwoordde op 11/12/2008 om 20:03
bron van user

stemmen
2

Als ik uit te werken iets complex, ik gebruik het veel, maar ik gebruik het als commentaar. Bijvoorbeeld, zal ik stomp de procedure uit, en zet in elke stap Ik denk dat ik moet doen. Als ik schrijf dan de code, zal ik de reacties achter te laten: het zegt wat ik probeerde te doen.

procedure GetTextFromValidIndex (input int indexValue, output string textValue)
// initialize
// check to see if indexValue is within the acceptable range
//    get min, max from db
//    if indexValuenot between min and max
//       then return with an error
// find corresponding text in db based on indexValue
// return textValue
   return "Not Written";
end procedure;
antwoordde op 11/12/2008 om 20:05
bron van user

stemmen
2

Ik heb nog nooit, zelfs niet een keer, die nodig zijn om de pseudocode van een programma te schrijven voor het schrijven ervan.

Echter, af en ik heb gehad om pseudocode schrijven na het schrijven van code, die meestal gebeurt er als ik ben op zoek naar de high-level implementatie van een programma te beschrijven om iemand op snelheid te komen met de nieuwe code in een korte tijd. En met "high-level implementatie", bedoel ik één lijn van pseudocode beschrijft 50 of zo lijnen van C #, bijvoorbeeld:

Core dumpt een bos van XML-bestanden naar een map en loopt de process.exe
  uitvoerbaar met een paar commandline parameters.

De process.exe leest elk bestand
    Elk bestand wordt gelezen regel voor regel
    Unieke woorden worden getrokken uit het bestand opgeslagen in een database
    Bestand wordt verwijderd wanneer de voltooide verwerking

Dat soort pseudo-code is goed genoeg om ongeveer 1000 regels code te beschrijven, en goed genoeg om een ​​newbie wat het programma eigenlijk aan het doen is nauwkeurig op de hoogte.

Bij vele gelegenheden als ik niet weet hoe je een probleem op te lossen, ik eigenlijk vind mezelf tekenen mijn modules op een whiteboard in zeer hoog niveau voorwaarden voor een duidelijk beeld van hoe in de communicatie tussen te krijgen, het tekenen van een prototype van een database schema, het tekenen van een datastructuur (vooral bomen, grafieken, arrays, etc) om een ​​goede greep op hoe te doorkruisen en te verwerken, enz. krijgen

antwoordde op 11/12/2008 om 20:11
bron van user

stemmen
1

Ik heb nog nooit gebruikt of gebruikt.

Ik probeer altijd tot prototype in een echte taal wanneer ik iets complex te doen, meestal het schrijven unit tests eerste om erachter te komen wat de code moet doen.

antwoordde op 11/12/2008 om 20:14
bron van user

stemmen
3

Ik en de andere ontwikkelaars op mijn team gebruik het de hele tijd. In e-mails, whiteboard, of gewoon in confersation. Psuedocode is tought om u te helpen denken dat de manier waarop je nodig hebt om te kunnen programmeren. Als je echt unstand psuedocode je kunt vangen op naar bijna elke programmeertaal omdat het belangrijkste verschil tussen hen allen is syntax.

antwoordde op 11/12/2008 om 20:18
bron van user

stemmen
2

Ik gebruik het bij de uitleg van begrippen. Het helpt om trim de onnodige stukjes van de taal, zodat voorbeelden alleen de gegevens die relevant zijn voor de vraag wordt gesteld.

Ik gebruik het een behoorlijke hoeveelheid op StackOverflow.

antwoordde op 11/12/2008 om 20:22
bron van user

stemmen
2

Ik gebruik geen pseudocode als het wordt onderwezen op school, en hebben niet in een zeer lange tijd.

Ik gebruik Engels beschrijvingen van algoritmen wanneer de logica is complex genoeg om het te rechtvaardigen; heten ze "comments". ;-)

wanneer uitleggen aan anderen, of werken dingen op papier, ik gebruik schema's zo veel mogelijk - hoe eenvoudiger hoe beter

antwoordde op 11/12/2008 om 20:52
bron van user

stemmen
2

Steve McConnel's volledige code , in zijn hoofdstuk 9, "The Pseudocode Programmeringsproces" stelt een interessante benadering: bij het schrijven van een functie langer dan een paar regels, gebruik maken van eenvoudige pseudocode (in de vorm van reacties) te schetsen wat de functie / procedure moet doen voor het schrijven van de werkelijke code die het doet. De pseudocode opmerkingen kunnen dan werkelijke reacties in het lichaam van de functie.

Ik heb de neiging om dit te gebruiken voor elke functie die nog meer dan wat sneller kan worden begrepen door te kijken naar een vol scherm (max) van de code doet. Het werkt bijzonder goed als u al gebruikt om uw functie lichaam te scheiden in de code "de leden" - eenheden van semantisch gerelateerde code gescheiden door een lege regel. Dan is de "pseudo-opmerkingen" werken als "headers" naar deze paragrafen.

PS: Sommige mensen kunnen beweren dat "je niet wat er moet reageren, maar waarom, en alleen wanneer het is niet eenvoudig te begrijpen voor een lezer die de taal in kwestie weet wel beter dan u" . Ik over het algemeen eens met dit, maar ik maak een uitzondering voor de PPP. De criteria voor de aanwezigheid en de vorm van een reactie mag niet worden ingesteld in steen, maar uiteindelijk beheerst door verstandig, goed doordachte toepassing van gezond verstand toch. Als je merkt dat je weigert om te proberen een licht gebogen om een subjectieve "regel" alleen maar omwille van het, moet u mogelijk een stap terug en realiseren als je niet kritisch genoeg bent geconfronteerd het.

antwoordde op 31/08/2011 om 03:33
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more