Pszeudókód Programozási folyamat vs. Test Driven Development

szavazat
16

Azoknak, akik nem olvasták Code Complete 2, a pszeudókód Programozási folyamat alapvetően egy módja annak, hogy tervezzen egy rutin leírja, hogy egyszerű angol az első, majd fokozatosan felülvizsgálja azt, hogy részletesebb pszeudokódokra, és végül a kódot. A fő előnye az, hogy segítsen Önnek a megfelelő absztrakciós szinten olyan rendszerek kiépítésének felülről lefelé, hanem lentről felfelé, ezáltal fejlődik a tiszta API különböző rétegeket. Rájöttem, hogy a TDD kevésbé eredményes, mert ez túlságosan koncentrál csinál a minimum, hogy egy teszt, hogy adja át, és arra ösztönzi a kis induló design. Azt is láthatjuk, hogy kelljen fenntartani egy lakosztály egység vizsgálatok instabil kódot (kóddal, amelyet folyamatosan refactored) elég nehéz, mert ez általában a helyzet, hogy van egy tucat egység vizsgálatok rutin, ami csak szükséges, egyszer vagy kétszer. Ha ezt Refactor - változik a módszer aláírásával, például - a munka nagy részét, amit teszel, frissítése a vizsgálatok helyett a prod kódot. Inkább hozzá egység vizsgálatok után komponens kódot stabilizálódott egy kicsit.

A kérdésem a következő - azoknak, akik Próbáltam mindkét megközelítés, ami tetszik a legjobban?

A kérdést 03/10/2008 22:44
a forrás felhasználó
Más nyelveken...                            


6 válasz

szavazat
4

A Test Driven Development akkor is csinál valami terv az elején. Meg kell először egy magas szintű pillantást, hogy mit akar csinálni. Ne gyere fel minden részletet, de kap egy ötlet egyszerű angol, hogyan lehet megoldani a problémát.

Ezután indítsa el tesztelése a problémát. Miután megvan a vizsgálat helyén, elkezd teszi át. Ha ez nem könnyű megtenni, akkor lehet, hogy vizsgálja felül a kezdeti tervet. Ha probléma van csak felül. A teszt nem létezik, hogy meghatározzák a megoldás ott van, hogy lehetővé teszi, hogy a változások, így van egy jobb megoldás, miközben biztosítja a stabilitást.

Azt mondanám, hogy a legjobb megoldás az, hogy a TDD. A legfontosabb, hogy észre, hogy a TDD nem jelent „kihagyja a tervezés”. TDD azt csinál egy kis tervezés induláshoz is, és ha szükséges, módosítsa. Lehet, hogy nem is kell beállítani.

Válaszolt 03/10/2008 22:51
a forrás felhasználó

szavazat
3

Általában találok pszeudokódokra csak igazán relevánssá válik, ha a kód szükséges, hogy megoldja a problémát sokkal bonyolultabb, hogy a szükséges kódot, hogy teszteljék a megoldást. Ha ez nem így van, én nem befut a nehézségeket, írják le, mint a legegyszerűbb dolog, ami esetleg a munka általában elfogadható megoldást az időt érdemes eltölteni a problémára.

Amennyiben viszont a probléma az, bonyolult, azt kell végiggondolni, hogyan kell megközelíteni, mielőtt tudok írni, még a kezdeti naiv megoldás - még mindig kell tervezni, mielőtt kódja; Ezért, azt használja a két megközelítési mód: egy angol leírást, amit kezdetben levelet, majd egy teszt hám, akkor naiv megoldás kódot, majd finomítás.

Válaszolt 03/10/2008 22:55
a forrás felhasználó

szavazat
1

Már használt mind együtt nagy kezdeti fejlődés, mind a három helyüket függően kérdésekben, mint a nyelv, a csapat dinamikája és a program mérete / bonyolultságát.

A dinamikus nyelvek (különösen rubin), én nagyon ajánlom TDD, ez segít a hibákat, hogy más nyelvek fogott fordításkor.

Egy nagy, komplex rendszer, annál tervezni akkor előre a jobb lesz. Úgy tűnik, mint amikor én terveztek egy nagy projekt, minden területen, amit kézzel intett, és azt mondta, „ez legyen elég egyenesen előre” volt a botladozó pontot később a projektben.

Ha egyedül dolgozik valamin kis egy statikailag-típusos nyelv, a lista megközelítés ésszerű és takarít meg sok időt felett TDD (Test karbantartást nem ingyenes, bár írásban a vizsgálatokat az első helyen nem túl rossz) - Ha nincs olyan teszteket a rendszer éppen dolgozik, hozzátéve tesztek nem mindig csodáltam, és talán még felhívni néhány nem kívánt figyelmet.

Válaszolt 03/10/2008 23:22
a forrás felhasználó

szavazat
1

Csak azért, mert a teszt sikeres, nem jelenti azt kész.

TDD legjobban jellemzi Piros - Zöld - Refactor .

Miután a vizsgálat arra ad egy (két) gólvonalak. Ez csak az első, a minimális követelményrendszert. Az igazi cél az azonos célt „pszeudókód Programozási folyamat” vagy bármilyen tervezési fegyelem.

Továbbá, a TDD hajtott a tesztelés, de ez nem jelenti azt, amit vakon vizsgálattal. Akkor hajtogat a tesztelés ugyanúgy iterációkhoz kódot. Nincs hely a dogmatikus ragaszkodás egy buta terv itt. Ez egy olyan agilis technika - ez azt jelenti, alkalmazkodjon a csapat és a körülmények.

Tervezze elég kódot, hogy egy tesztelhető felület. Tervezze elég vizsgálatokat kell arról, hogy a felület fog működni. Tervezze még néhány vizsgálatot, és még néhány végrehajtását, amíg meg nem látja annak szükségességét, hogy refactor.

A valódi cél Jó Software. TDD nem zárja ki a „jóság”.

A technika nem korlátozó mandátumot. A technikákat kell tekinteni, mint egy mankó segítségével a termék jó kódot. Ha én okosabb, gazdagabb és szebb, azt nem kell TDD. De mivel én vagyok olyan hülye, mint én vagyok, szükségem van egy mankót, hogy segítsen nekem Refactor.

Válaszolt 04/10/2008 00:18
a forrás felhasználó

szavazat
0

Nekem is van egy ász TDD pseudocoding csak nem tud versenyezni - mindkettő segítségével elvont és terv kidolgozása, de ha egyszer elkészült fejlesztés TDD föld még mindig az egység vizsgálatok .

AS hasznos megközelítés a CC2 leírt pseudocoding az, hogy egyszerűen nem egyezik meg. TDD csak félig tervezésével, ez is biztosítja a szigorú állvány meg lehet fejlődni a projekt előre. Azonban nem látom okát, hogy miért nem pszeudokódját, hogy megoldja a problémákat, TDD készletek.

Nem szabad szervesen fejlődnek.
Pszeudokódját az elme gyilkosa.
Ez a kis halál, hogy hozza a projekt memória feledésbe.
Azt majd szembe az én 90-es módszer.
Én teszik számára, hogy átmennek én és rajtam keresztül.
És amikor elhalad térek a belső szem látni útját.
Amennyiben a pszeudokódját ment ott lesz TDD.
Csak a berendezés-tesztek marad.

(Ne égess meg az, hogy én csak félig komolyan: P)

Válaszolt 05/01/2009 10:22
a forrás felhasználó

szavazat
6

A csapatom keveri a két megközelítés, és ez egy fantasztikus módja annak, hogy dolgozzon ki (legalábbis nekünk). Szükségünk unit tesztek, mert van egy nagy és összetett szoftver rendszer. De a pszeudókód programozási folyamat kéz le a legjobb megközelítés szoftver tervezés jöttem át. Ahhoz, hogy azok működjenek együtt:

  • Kezdjük írásával mi osztályok, és töltse ki teljesen kommentálta módszer ág, a be- és kimenetek.
  • Az általunk használt két kódolás és a szakértői értékelés, mint egy párbeszéd finomítják és jóváhagyják a design, még mindig csak a módszer csonkokat.
  • Ezen a ponton már most is terveztek a rendszer, és van néhány tesztelhető kód. Tehát megy előre és írásban egység vizsgálatok.
  • Visszamegyünk, és indítsa el kitöltésével módszerek megjegyzéseket a logikát, hogy kell írni.
  • Írunk kódot; A teszt sikeres.

A legszebb az egészben, hogy mire mi valójában írni kódot, a legtöbb munkát a végrehajtás már megtettük, mert annyira a mit gondolunk, mint a megvalósítás valójában kód design. Szintén a korai folyamat helyettesíti a szükségességét UML - osztály és eljárás csonkok csak leíró, ráadásul akkor is lehet használni. És mindig felfüggeszti a megfelelő absztrakciós szinten.

Nyilvánvaló, hogy a folyamat nem igazán a lineáris, mint amit leírtam - néhány trükkje a végrehajtás azt jelenti, hogy meg kell, hogy újra a magas szintű tervezés. De általában, mire írni egység vizsgálatok tervezése igazán stabil (a metódusok szintjén), így nem kell a sok teszt átírás.

Válaszolt 02/04/2010 11:04
a forrás felhasználó

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