1. Foren
  2. Kommentare
  3. Internet-Forum
  4. Alle Kommentare zum Artikel
  5. › Computacenter: So gewinnt ein…

Habe ich das richtig gelesen?

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema

Neues Thema Ansicht wechseln


  1. Habe ich das richtig gelesen?

    Autor: windbeutel 14.08.18 - 19:55

    "Fast 50 Prozent" Frauenquote bei PM und Vertrieb und "über 30 Prozent" bei Trainees?

    Wo ist da jetzt die Nachricht? PM und Vertrieb haben i.d.R. ~0% Ahnung von IT und ob aus den Trainees mal irgendwas wird, steht ja auch noch in den Sternen.

    Bei uns ist der Vertrieb zu 100% mit Frauen besetzt, aber die Entwicklung ist trotzdem vollständig mit Männern besetzt (was ich bedaure, aber ich habe in meinem Berufsleben leider auch erst wenige Frauen kennenlernen dürfen, die wirklich Software entwickeln und programmieren konnten).

    Meine Lieblingscodezeile einer Kollegin:
    private static final int ZWEI = 2;

  2. Re: Habe ich das richtig gelesen?

    Autor: sav 14.08.18 - 20:04

    Ich kenne es auch nicht anders. Customer Care, Marketing, PM und Vertrieb -> viele Frauen. Entwicklung, DevOPS und Co. -> überwiegend Männer. Auf 100 Entwickler kommen vielleicht 2 Frauen. Auf 100 Vertriebler sinds eher 40 wenn nicht gar 50 und im Customer Care sinds dann fast schon 80 Frauen auf 100 Personen. Jedenfalls meine Erfahrungen in vielen Unternehmen.

  3. Re: Habe ich das richtig gelesen?

    Autor: gumnade 14.08.18 - 20:47

    Das ist wirklich eine sehr zwiespältige Sache. Natürlich kann man irgendwo dankbar sein, dass Frauen überhaupt eine Fuß in der Tür haben und dann auch mal eine bei den "harten" Aufgaben landet, es ist aber sehr ähnlich der Grundschule, die sich damit rühmt, durch einen Sportlehrer die Männerquote verdoppelt zu haben - da fühlt sich der Hausmeister nicht mehr so alleine.

    Ziel sollte es ja eigentlich sein, dass man keinen Gedanken daran verschwenden muss, welches Geschlechtsteil jemand zwischen den Beinen hat, aber es sieht sehr danach aus, als ginge es nur über diesen Umweg.
    Schlauer wäre es aber vielleicht, einfach Männer vom Markt abzuschöpfen, indem man sie für Frauenberufe begeistert. Mit welchen Mitteln? Ach ja, ein Loch ist im Eimer ...

  4. Re: Habe ich das richtig gelesen?

    Autor: CHU 15.08.18 - 08:06

    windbeutel schrieb:
    --------------------------------------------------------------------------------

    > Meine Lieblingscodezeile einer Kollegin:
    > private static final int ZWEI = 2;


    Darf ich fragen, was dir an dieser Zeile nicht gefällt?

    Wenn ich einen Programmstück hätte, wo es drauf ankommt, dass da unbedingt mit 2 gerechnet wird und diese evtl sogar noch mehrfach im Code vorkommt, dann würde ich die 2 auch in so eine "umständliche" Konstante packen.

    Wieso? Nun, wenn ich nur eine 2 tippen muss, kann ich mich auch ganz schnell vertippen und 1 oder 3 eingeben. So weit sind die nicht auseinander. Und im Code-Review (so es einen gibt), fällt sowas fast nicht auf.

    Um allerdings "ZWEI" falsch einzugeben, müsste ich mindestens 2 Buchstaben falsch eingeben, die zudem deutlich weiter voneinander entfernt sind (sofern "DREI" überhaupt deklariert ist).

  5. Re: Habe ich das richtig gelesen?

    Autor: sektion31 15.08.18 - 08:45

    Das ist auch der typische Umgang um magical numbers zu verhindern und Sonarqube fischt solche code smell "Fehler" in der standard Konfiguration raus.
    https://rules.sonarsource.com/c/RSPEC-109

    Wie mein Vorposter gesagt hat kann man bei sehr häufiger Verwendung von nackten Zahlen schonmal ein Fehler unterlaufen. Ich kann mir das z.B. gut bei Arithmetik vorstellen, wo man die Zahlenwerte schlecht mit Variablennamen abdecken kann.

  6. Re: Habe ich das richtig gelesen?

    Autor: Hmmpf 15.08.18 - 10:29

    > Wenn ich einen Programmstück hätte, wo es drauf ankommt, dass da unbedingt
    > mit 2 gerechnet wird und diese evtl sogar noch mehrfach im Code vorkommt,
    > dann würde ich die 2 auch in so eine "umständliche" Konstante packen.

    Anstatt den Inhalt der konstante im namen zu beschreiben, wärs vermutlich sinnvoller den Vorgang zu referenzieren der zwingend eine 2 zum rechnen braucht. Aber grundsätzlich finde ich es auch eher unangebracht sich über den code anderer lustig zu machen. Manchmal braucht man linguistische tricks damit man etwas in die rübe bekommt und dort auch behält.

  7. Re: Habe ich das richtig gelesen?

    Autor: non_sense 15.08.18 - 10:46

    windbeutel schrieb:
    --------------------------------------------------------------------------------
    > Meine Lieblingscodezeile einer Kollegin:
    > private static final int ZWEI = 2;

    Das hast du dir doch ausgedacht. Dieses Beispiel habe ich als Witz inzwischen schon sehr oft in irgendwelchen Talks auf irgendwelchen Konferenzen gesehen.

  8. Re: Habe ich das richtig gelesen?

    Autor: PiranhA 15.08.18 - 11:03

    Also Tippfehler würde ich mal ausklammern. Das sollte spätestens beim Testen auffallen. Allerdings macht das natürlich durchaus Sinn, um die Wartung zu verbessern und den "magic numbers" eine semantische Bedeutung zu verpassen. Genau in dem Fall ist der Name "ZWEI" aber eben sinnlos. Ich sehe ja, dass es eine zwei ist, aber welche Bedeutung hat diese? Ist das ein statischer Offset, die maximale Anzahl der Durchläufe, die Elemente pro Seite, oder was?

  9. Re: Habe ich das richtig gelesen?

    Autor: a user 15.08.18 - 13:18

    CHU schrieb:
    --------------------------------------------------------------------------------
    > windbeutel schrieb:
    > ---------------------------------------------------------------------------
    > -----
    >
    > > Meine Lieblingscodezeile einer Kollegin:
    > > private static final int ZWEI = 2;
    >
    > Darf ich fragen, was dir an dieser Zeile nicht gefällt?
    >
    > Wenn ich einen Programmstück hätte, wo es drauf ankommt, dass da unbedingt
    > mit 2 gerechnet wird und diese evtl sogar noch mehrfach im Code vorkommt,
    > dann würde ich die 2 auch in so eine "umständliche" Konstante packen.
    >
    > Wieso? Nun, wenn ich nur eine 2 tippen muss, kann ich mich auch ganz
    > schnell vertippen und 1 oder 3 eingeben. So weit sind die nicht
    > auseinander. Und im Code-Review (so es einen gibt), fällt sowas fast nicht
    > auf.
    >
    > Um allerdings "ZWEI" falsch einzugeben, müsste ich mindestens 2 Buchstaben
    > falsch eingeben, die zudem deutlich weiter voneinander entfernt sind
    > (sofern "DREI" überhaupt deklariert ist).

    Deine Intention ist durch aus sinnvoll, aber die Bezeichung dennoch totaler Mist.

    Natürlich sollte man normalerweise nicht die Zahl direkt eingeben, so wie du es beschrieben hast. Man sollte aber eine Konstnante so bennenen, wie ihre Funktion ist und nicht wie ihr Wert.

    Wenn du eine Konstante für einenen Default-Filename definierst, dann machst du das doch auch nicht so:
    final String TEST_XML = "test.xml";

    sondern
    final String DefaultFileName = "test.xml";

    Man soll ja am namen der Variable oder Konstante ihre Funktion erkennen können und nicht ihren Wert. (Konstantennamen für mathematische oder physikalische Konstanten sind da eine Ausnahme).

    final static int ZWEI = 2; Ist einfach ein riesen Bullshit.

  10. Re: Habe ich das richtig gelesen?

    Autor: a user 15.08.18 - 13:20

    non_sense schrieb:
    --------------------------------------------------------------------------------
    > windbeutel schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Meine Lieblingscodezeile einer Kollegin:
    > > private static final int ZWEI = 2;
    >
    > Das hast du dir doch ausgedacht. Dieses Beispiel habe ich als Witz
    > inzwischen schon sehr oft in irgendwelchen Talks auf irgendwelchen
    > Konferenzen gesehen.

    Keine Ahnung ob er sich das ausgedacht hat oder nicht, aber vergleichbares habe ich schon gesehen. Und eine der Antworten hierzu bestätigt ja, dass es Menschen gibt, die so etwas machen würden.

    Was ich schon alles leider sehen musste...

  11. Re: Habe ich das richtig gelesen?

    Autor: GodsBoss 15.08.18 - 18:30

    > > Meine Lieblingscodezeile einer Kollegin:
    > > private static final int ZWEI = 2;
    >
    > Darf ich fragen, was dir an dieser Zeile nicht gefällt?
    >
    > Wenn ich einen Programmstück hätte, wo es drauf ankommt, dass da unbedingt
    > mit 2 gerechnet wird und diese evtl sogar noch mehrfach im Code vorkommt,
    > dann würde ich die 2 auch in so eine "umständliche" Konstante packen.
    >
    > Wieso? Nun, wenn ich nur eine 2 tippen muss, kann ich mich auch ganz
    > schnell vertippen und 1 oder 3 eingeben. So weit sind die nicht
    > auseinander. Und im Code-Review (so es einen gibt), fällt sowas fast nicht
    > auf.
    >
    > Um allerdings "ZWEI" falsch einzugeben, müsste ich mindestens 2 Buchstaben
    > falsch eingeben, die zudem deutlich weiter voneinander entfernt sind
    > (sofern "DREI" überhaupt deklariert ist).

    Ich bin sehr dafür, magische Zahlen (und Zeichenketten) zu vermeiden, aber da gibt es sinnvolle Ersetzungen und weniger sinnvolle. Wenn du überall nur ZWEI statt 2 verwendest, hast du dieselbe Konstante sowohl in einer Formel zur Berechnung der Reifen pro Fahrrad als auch zum Bestimmen der Höhe eines Entgelts, wenn dieses bei guter Leistung verdoppelt werden soll, obwohl beides nichts miteinander zu tun hat. Namen wie TIRES_PER_BIKE und GOOD_PERFORMANCE_PAYMENT_FACTOR wären da besser geeignet.

    Denen könnte man natürlich den Wert ZWEI zuordnen, aber ehrlich gesagt, in meinem Leben habe ich schon sehr viel Code geschrieben, sowohl beruflich als auch privat, und dass an einer Stelle eine falsche Zahl steht, weil ich mich vertippt habe (und nicht etwa, weil man dachte, die falsche Zahl sei richtig), und das fiel nicht auf... Wüsste nicht, dass das je passiert ist.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  12. Re: Habe ich das richtig gelesen?

    Autor: Anonymer Nutzer 15.08.18 - 21:37

    non_sense schrieb:
    --------------------------------------------------------------------------------
    > Das hast du dir doch ausgedacht. Dieses Beispiel habe ich als Witz
    > inzwischen schon sehr oft in irgendwelchen Talks auf irgendwelchen
    > Konferenzen gesehen.

    Ob sich windbeutel das ausgedacht hat oder nicht, kann ich nicht sagen. Aber solche Menschen gibt es anscheinend tatsächlich.

    Das, und noch viel schlimmeres, habe ich persönlich schon mal erlebt. Der Author war dabei immer die gleiche Person (war übrigens ein Mann in meinem Fall).

    Schlimmstes Beispiel war: Eine ca. 500 Zeilen lange Methode, 300 Zeilen davon ein Switch Case, welche anhand eines Arguments "methodName" entscheidet, welche (von ca. 20) Argumenten für welche Art von Berechnung eingesetzt werden soll.
    Als ob der Author nie verstanden hätte, wofür Methoden/Funktionen gut sind...

  13. Re: Habe ich das richtig gelesen?

    Autor: Anonymer Nutzer 15.08.18 - 21:53

    CHU schrieb:
    --------------------------------------------------------------------------------
    > Darf ich fragen, was dir an dieser Zeile nicht gefällt?

    Vermutlich die "ZWEI".
    Das ist nämlich ein derart nichtssagender Name, dass der nächste Entwickler sich vermutlich wundern wird, was der Sinn hinter dieser "ZWEI" sein soll.

    Wenn nämlich steht:
    > index += ZWEI;
    dann fragt man sich: "Warum ZWEI, und nicht EINS oder DREI? Wenn ich statt ZWEI was anderes reinschreibe, was mache ich kaputt?"

    Wenn stattdessen steht:
    > inputFieldCount = 2;
    > index += inputFieldCount;
    Dann ist sofort klar, was hier vor sich geht. Wenn ich hier die 2 mit 3 ersetzen will, dann muss das Eingabeformular neu 3 Felder statt 2 haben.

  14. Re: Habe ich das richtig gelesen?

    Autor: Anonymer Nutzer 15.08.18 - 22:12

    sektion31 schrieb:
    --------------------------------------------------------------------------------
    > Ich kann mir das z.B. gut bei Arithmetik vorstellen, wo man
    > die Zahlenwerte schlecht mit Variablennamen abdecken kann.

    In solchen Fällen ist die ZWEI aber bereits im Input angegeben, da brauchst du keine magische Zahl.

    Alternativ kannst du auch folgenden Namen verwenden: "buttonTwoValue = 2".

    Und für string-int castings geht auch:
    > switch (c) {
    > case '1': return 1;
    > case '2': return 2;
    > [...]
    > }
    Wenn sich da ein Fehler reinschleicht, merkt man das ziemlich schnell.
    In solchen Fällen ist es generell auch akzeptabel, magic number Warnungen temporär abzuschalten.

    Und wenn's ohne magic numbers gehen soll:
    > private static readonly charValueMap = new Dictionary<char, int>() {
    > {'1', 1},
    > {'2', 2},
    > [...]
    > };
    gefolgt von:
    > return charValueMap[c];

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. IT System Administrator (m/w/d)
    Gesellschaft für Grund- und Hausbesitz mbH, Heidelberg
  2. Service Engineer (Incident- & Problemmanager) - Specialist (m/w/d)
    Vodafone GmbH, Eschborn, Unterföhring, Stuttgart, Düsseldorf
  3. Abteilungsleitung (m/w/d) Softwareentwicklung
    KDO Service GmbH, Oldenburg
  4. IT-Retail Spezialist (m/w/d)
    dennree GmbH, Töpen (Raum Hof / Oberfranken), Großostheim, Garching bei München, Berlin

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 499,99€
  2. 499€
  3. (reduzierte Überstände, Restposten & Co.)


Haben wir etwas übersehen?

E-Mail an news@golem.de