Peer: Aufgabe (Verständnisproblem)

Hi Leute,

ich habe eine Test-Aufgabe bekommen die sich im Bereich PHP und Datenbanken ansiedelt. Dabei soll ich eine class erstellen, die der "Prüfer" später einbindet und bewertet. Unter Anderem steht dort als Aufgabe:

"write a short spec how you implement all (dont cheat yourself and write it first)"

Was genau wollen die da jetzt von mir wissen?
Wie ich das umsetzte sehen die doch anhand meines Scriptes oder interpretiere ich das Wort implement falsch.

Was meint Ihr dazu?

Gruß Peer

  1. Hallo Peer,

    "write a short spec how you implement all (dont cheat yourself and write it first)"

    Ich glaube, der "Prüfer" möchte Euch einfach nur ein wenig zum strukturierten Arbeiten erziehen. Ihr sollt Euch vorher Gedanken machen, wie ihr die Lösung angehen möchtet, und diese Gedanken auch kurz niederschreiben. Anhand dieser Gedanken sollt ihr dann Eure Lösung programmieren.

    Also nicht erst los programmieren, und mittendrin feststellen, dass der Ansatz irgendwie falsch war, und mangels Zeit alles so zurecht biegen, dass es irgendwie doch funktioniert.

    Herzliche Grüße aus Weinsberg
    Helmut Weber

    --
    -------------------------------------------
    Mode ist eine Variable, Stil eine Konstante
  2. Hi!

    "write a short spec how you implement all (dont cheat yourself and write it first)"
    Was genau wollen die da jetzt von mir wissen?

    Vermutlich will er sehen, dass du dir zuerst Gedanken und einen Plan machst, anstatt einfach loszulegen und zuzusehen, wie es wächst.

    Wie ich das umsetzte sehen die doch anhand meines Scriptes oder interpretiere ich das Wort implement falsch.

    Man sieht in fertigem Code (ohne Kommentare) nur, was damit erreicht _wird_ (inklusive des Verhaltens bei Programmierfehlern). Man sieht darin aber nicht in verständlichen Worten oder als Grafik und dergleichen, was damit erreicht werden _soll_.

    Lo!

  3. Hallo,

    Unter Anderem steht dort als Aufgabe:
    "write a short spec how you implement all (dont cheat yourself and write it first)"

    und wenn ich die Gesamtaufgabe gestellt hätte, würde ich dafür mehr als die Hälfte aller erreichbaren Punkte vergeben.

    Was genau wollen die da jetzt von mir wissen?
    Wie ich das umsetzte sehen die doch anhand meines Scriptes

    Nö. Selbsterklärender Code ist eine Illusion.

    oder interpretiere ich das Wort implement falsch.

    Das ist eine sehr gute Aufgabe. Mache Dir zuerst ein Plan für Dein Vorgehen. Setze diesen anschließend in Code um.

    Freundliche Grüße

    Vinzenz

  4. Hi,

    "write a short spec how you implement all (dont cheat yourself and write it first)"

    die Spezifikation wird beim professionellen Arbeiten häufig von anderen verfasst; die Aufgabe des Entwicklers ist es, sie exakt umzusetzen. (Die Aufgabe des guten Entwicklers ist es zudem, auf Widersprüche, Fehler, Ungenauigkeiten, verpasste Chancen u.ä. zu achten und Verbesserungsvorschläge zu machen.)

    Was genau wollen die da jetzt von mir wissen?

    Selbst wenn Dir keine Spezifikation gegeben wird, empfiehlt es sich, *zuerst* eine solche zu verfassen. Andernfalls arbeitest Du eher nach dem Prinzip namens "rapid prototyping", welches insbesondere darin besteht, die Arbeit regelmäßig wegzuschmeißen. Sprich: Dein Code wird automatisch als Schrott entwickelt.

    Wenn Du beispielsweise mit Unit-Tests arbeitest ("test-driven development"), sind die Tests selbst übrigens Teil der Spezifikation bzw. Dokumentation. Sie werden ebenfalls vor der Implementierung erstellt, d.h. Du testest Funktionen, die es noch gar nicht gibt. Ja, das ist (je nach Umgebung) durchaus sinnvoll.

    Wie ich das umsetzte sehen die doch anhand meines Scriptes oder interpretiere ich das Wort implement falsch.

    "Der Code ist Dokumentation" ist in der Praxis ein ziemlich schlechtes Vorgehen. Darüber hinaus ist eine Dokumentation etwas anderes als eine Spezifikation.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Moin!

      die Spezifikation wird beim professionellen Arbeiten häufig von anderen verfasst; die Aufgabe des Entwicklers ist es, sie exakt umzusetzen. (Die Aufgabe des guten Entwicklers ist es zudem, auf Widersprüche, Fehler, Ungenauigkeiten, verpasste Chancen u.ä. zu achten und Verbesserungsvorschläge zu machen.)

      Das hab ich mittlerweile Aufgegeben. Keine meiner Anmerkungen wurden bisher beruecksichtigt und am Ende immer nur gefragt, warum etwas komisch ist/nicht funktioniert. 90% aller Bugs und Fehler in meinen Anwendungen, die mir vorgeworfen werden, kann ich gemuetlich mit einer E-Mail beantworten in der ich eine vorangegangene Kommunikation, bzw. Spezifikation mitschicke. "So habt ihr es gewollt."

      Selbst wenn Dir keine Spezifikation gegeben wird, empfiehlt es sich, *zuerst* eine solche zu verfassen. Andernfalls arbeitest Du eher nach dem Prinzip namens "rapid prototyping", welches insbesondere darin besteht, die Arbeit regelmäßig wegzuschmeißen. Sprich: Dein Code wird automatisch als Schrott entwickelt.

      Wie jetzt? Spezifikationen schreiben und planen verbrennt doch nur Zeit und kostet somit Geld. Wenn interessiert, ob da Schrott entwickelt wird? Das soll einfach nur in einer bestimmten Zeit fertig sein.

      Wenn Du beispielsweise mit Unit-Tests arbeitest ("test-driven development"), sind die Tests selbst übrigens Teil der Spezifikation bzw. Dokumentation. Sie werden ebenfalls vor der Implementierung erstellt, d.h. Du testest Funktionen, die es noch gar nicht gibt. Ja, das ist (je nach Umgebung) durchaus sinnvoll.

      Tests. Dafuer gibts doch die Enduser. Wenn ich eine Anwendung abliefere und um Tests durch Personen bitte, die genau wissen sollten, wie die Software funktionieren soll, passiert normal genau gar nichts. Ich habe genau einen Kollgen in Baden Wuerttemberg, der sich meine Tools tatsaechlich mal genauer ansieht und wertvolle Hinweise gibt. Damit kann man vor Ausrollen noch ordentlich was verbessern. Wenn dann spaeter noch was (angeblich) nicht klappt: "Works as designed. Der Fehler sitzt vor dem Monitor." Ausser der Fehler ist jemand wichtiges. Dann sind auch unsinnige Sachen sinnvoll und werden bezahlt. Weil aber alles schnell gehen muss, wirds schlampig. Meine vorhandenen Funktionen wegen einer Sache umzuarbeiten ist zu langwierig - das verstehen die Jungs die mir die Stunden zuteilen nicht -, also wird z.b. das neue Feature direkt in den HTMLcode gebaut. Ausgabe und Logik trennen war bis dahin noch gut gelungen.

      Wenn ich das grad mal wieder so ueberfliege, wunderts mich mal wieder warum angeblich in Hannover die optimistischten Leute leben. Ich frag mich, wen die gefragt haben...

      --
      Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
      1. Hi!

        Spezifikationen schreiben und planen verbrennt doch nur Zeit und kostet somit Geld. Wenn interessiert, ob da Schrott entwickelt wird? Das soll einfach nur in einer bestimmten Zeit fertig sein.

        Die traurige Praxis "da draußen" ist kein Grund, nicht wenigstens in der Ausbildung den ordentlichen Weg zu beschreiten.

        Lo!

      2. Hello,

        Wie jetzt? Spezifikationen schreiben und planen verbrennt doch nur Zeit und kostet somit Geld. Wenn interessiert, ob da Schrott entwickelt wird? Das soll einfach nur in einer bestimmten Zeit fertig sein.

        Ja, richtig. Aber irgendwo geht es eben auch ums Geld. Und je nach Vertrag kann es eben doch interessant sein, wer wann was wo gefordert und und entsprechend bei Änderung der Forderung darauf zu pochen, dass es sich hier um einen Change handelt. Scope-Management ist ein essenzieller Bestandteil von Projektorganisation. Ich hab keine Lust dazu, manchmal nervt es ungemein alles so zu formalisieren und Kleinkriege zu führen, aber bestimmte Projektgrößen gehen nicht ohne.

        MfG
        Rouven

        --
        -------------------
        sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
        "I wish it need not have happened in my time" - "So do I, and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us."  --  J.R.R. Tolkien: "The Lord Of The Rings: The Fellowship Of The Ring"
        1. Hello,

          Wie jetzt? Spezifikationen schreiben und planen verbrennt doch nur Zeit und kostet somit Geld. Wenn interessiert, ob da Schrott entwickelt wird? Das soll einfach nur in einer bestimmten Zeit fertig sein.
          Ja, richtig. Aber irgendwo geht es eben auch ums Geld. Und je nach Vertrag kann es eben doch interessant sein, wer wann was wo gefordert und und entsprechend bei Änderung der Forderung darauf zu pochen, dass es sich hier um einen Change handelt. Scope-Management ist ein essenzieller Bestandteil von Projektorganisation. Ich hab keine Lust dazu, manchmal nervt es ungemein alles so zu formalisieren und Kleinkriege zu führen, aber bestimmte Projektgrößen gehen nicht ohne.

          Hm. Als Freelancer zieht sowas natuerlich ein paar Nachteile hinter sich her. Ich mache ja nur firmeninterne Entwicklungen. "Ihr Voegel wolltet in 2 Monaten ein System fuer Deutschland. Das habt Ihr. Wenn ihr jetzt mit Europa kommt gebt noch nen Monat drauf oder lebt damit, dass es nicht funktioniert, wie ihr wollt, sondern wie ihr gesagt habt." Als Freelancer geht sowas natuerlich nicht.

          Aber hier is das schon mal so: "Ja, das kann ich machen. Ich machs gleich skalierbar, dann gehts auch mal fuer Europa. Dauert natuerlich etwas laenger."
          "Wieviel laenger?"
          "3-4 Wochen, schaetz ich."
          "4 Wochen?" man hoert in fast durchs Telefon sterben. Er hatte wohl eher 4 Stunden im Sinn. Oder 4 Minuten?
          "Da die Strukturen unterschiedlich sind, muesste man das ganze viel flexibler machen. Es ist natuerlich einfacher, immer nur blaue 30 Grad Waesche zu waschen, als immer erst zu sehen, ob man bunte, oder weisse, Kochwaaesche oder Wolle hat und dann immer das Richtige Waschprogramm zu benutzen. Die muessten ja auch erstmal alle erstellt werden."  Manchmal muss man eben doch Bilder malen... Wachsmaler und Handpuppen sind nicht nur im Kindergarten praktisch. Das versteht er.
          "Hm. Ok. Dann machen wir nur Deutschland."
          Leider ist das mit dem Gedaechtnis so'ne Sache. Auch das mit diesem neumodischen Kommunikationsding, is nicht so leicht. Denn spaetestens wenn das Prog fertig ist kommt eben dieser Manager oder ein anderer Vogel und fragt was mit Europa ist. Zum Glueck hat man sich das OK damals nochmal per Mail geben lassen, oder nicht?...

          --
          Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
          1. Om nah hoo pez nyeetz, Steel!

            Manchmal muss man eben doch Bilder malen... Wachsmaler und Handpuppen sind nicht nur im Kindergarten praktisch.

            Was sagt der große Stift zum kleinen Stift?

            Wachs mal, Stift

            "Hm. Ok. Dann machen wir nur Deutschland." Leider ist das mit dem Gedaechtnis so'ne Sache. Auch das mit diesem neumodischen Kommunikationsding, is nicht so leicht. Denn spaetestens wenn das Prog fertig ist kommt eben dieser Manager oder ein anderer Vogel und fragt was mit Europa ist. Zum Glueck hat man sich das OK damals nochmal per Mail geben lassen, oder nicht?...

            Scheint wohl in vielen Gebieten so zu sein.

            Matthias

            --
            http://www.billiger-im-urlaub.de/kreis_sw.gif
            1. Hallo,

              Was sagt der große Stift zum kleinen Stift?
              Wachs mal, Stift

              auch schön ... ;-)
              Komisch nur, dass ein Wachstuch keinen Zentimeter wächst, egl wie lange man wartet!

              Ciao,
               Martin

              --
              Was du heute kannst besorgen,
              das geht sicher auch noch morgen.
              Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
              1. Om nah hoo pez nyeetz, Der Martin!

                Komisch nur, dass ein Wachstuch keinen Zentimeter wächst, egl wie lange man wartet!

                Man kann sich das sogar umhängen und man wird dennoch keinen Zentimeter größer.

                Matthias

                --
                http://www.billiger-im-urlaub.de/kreis_sw.gif
            2. Hola!

              Was sagt der große Stift zum kleinen Stift?

              Wachs mal, Stift

              :D

              Den hat ich schon vergessen. Dabei ist der echt nett.

              "Hm. Ok. Dann machen wir nur Deutschland."
              Leider ist das mit dem Gedaechtnis so'ne Sache. Auch das mit diesem neumodischen Kommunikationsding, is nicht so leicht. Denn spaetestens wenn das Prog fertig ist kommt eben dieser Manager oder ein anderer Vogel und fragt was mit Europa ist. Zum Glueck hat man sich das OK damals nochmal per Mail geben lassen, oder nicht?...

              Scheint wohl in vielen Gebieten so zu sein.

              Ich fuerchte. Witzig wirds aber erst, wenn in deine Beurteilung die merkwuerdigen Managerentscheidungen einfliessen. Wenn also eben jener Vorgesetzte, den Du vielleicht sogar noch auf bestimmte unglueckliche Umstaende aufmerksam gemacht hast, sein Versagen Dir zuschreibt. Das konnte ein frueherer Arbeitgeber recht gut und ich kenne noch so ein paar Faelle aus verschiedenen Bereichen. Deshalb hier nochmal als Tipp fuer alle Neulinge: Lasst euch moeglichst jeden Kruemel schriftlich geben. Es ist mit einer gewissen Wahrscheinlichkeit so, dass euer Chef in einem halben Jahr nie was davon gehoert hat, dass der Formularversand via mailto nicht immer funktionieren muss und es deshalb nicht so schlau ist, sowas auf einer Werbe-CD anzubieten. Eine E-Mail von damals, in der ihr eure Bedenken geaeussert habt und von ihm abgwimmelt wurdet, ist dann Gold wert.

              --
              Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
              1. Om nah hoo pez nyeetz, Steel!

                Deshalb hier nochmal als Tipp fuer alle Neulinge: Lasst euch moeglichst jeden Kruemel schriftlich geben. ... Eine E-Mail von damals, in der ihr eure Bedenken geaeussert habt und von ihm abgwimmelt wurdet, ist dann Gold wert.

                Dafür gibts ein dickes fachlich hilfreich!

                Matthias

                --
                http://www.billiger-im-urlaub.de/kreis_sw.gif
              2. Mahlzeit Steel,

                Es ist mit einer gewissen Wahrscheinlichkeit so, dass euer Chef in einem halben Jahr nie was davon gehoert hat, dass der Formularversand via mailto nicht immer funktionieren muss und es deshalb nicht so schlau ist, sowas auf einer Werbe-CD anzubieten. Eine E-Mail von damals, in der ihr eure Bedenken geaeussert habt und von ihm abgwimmelt wurdet, ist dann Gold wert.

                Wie sagt ein Kollege immer so schön: "Melden macht frei und belastet den Vorgesetzten."

                MfG,
                EKKi

                --
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|