Wie lange hast du programmiert, bis du in deinem Code Schönheit und Mächtigkeit zu sehen begonnen hast?

Ein Paar Jahre 88%
Länger 13%
ca 5 Jahre 0%

8 Stimmen

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
Ein Paar Jahre

Sauberer Code bzw. saubere Architektur macht deinen Code lesbarer und wartbarer.

In diesem Zuge darf auch gerne auf Kommentare verzichtet werden - es sei denn, diese Kommentare dienen einem rechtlichen Zweck. Wenn jemand behauptet, er schreibe einen guten Code und nutzt Kommentare, dann ist der Code nicht gut.

Was würde dir besser gefallen?

import re

class PasswordValidator:
    def __init__(self, password):
        self.password = password

    def __validate_password(self):
        pattern = r"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$"
        result = re.match(pattern, self.password)
    
        return result.group()

    def validate(self):
        try:
            self.__validate_password()

            print("Password is valid!")
        except AttributeError:
            print("Password validation failed.")

o_validator = PasswordValidator("aTest1337!")
o_validator.validate()

oder

class PasswordValidator:
    def __init__(self, password):
        self.password = password

    def __validate_password_length(self):
        ...

    def __validate_upper_case(self):
        ...

    def __validate_lower_case(self):
        ...

    def __validate_digits(self):
        ...

    def __validate_special_chars(self):
        ...

    def validate(self):
        try:
            self.__validate_password_length(self):
            self.__validate_upper_case(self):
            self.__validate_lower_case(self):
            self.__validate_digits(self):
            self.__validate_special_chars(self):
            
        except AttributeError:
            print("Password validation failed.")

o_validator = PasswordValidator("aTest1337!")
o_validator.validate()

An dieser Stelle ist Geschmack und Erfahrung ausschlaggebend. Würdest du wissen, was hier passiert? Oder wären doch Kommentare notwendig?

Woher ich das weiß:Berufserfahrung – > 20 Jahre in der Softwareentwicklung

"Schönheit und Mächtigkeit" haben mich noch nie interessiert.

Ich schreibe Code so, dass er tut was er soll und ich schreibe ihn so, dass ich ihn nach ein paar Jahren noch lesen kann. Besonders bei einer häufiger benutzen Klasse ist das sehr wichtig, da dürfen dann auch Kommentarzeilen nicht fehlen, besonders an Stellen, die nicht selbsterklärend sind. Daneben füge ich Kommentarzeilen als eine Art Überschriften ein ("Hier beginnt blablabla")

Aber wir sind auf der Arbeit und nicht bei einem Beauty-Contest.

Mir war, ist da Effizienz, Anwenderfreundlichkeit und Nutzen am wichtigsten, und Wartbarkeit. Das hat m. E. wenig mir Schönheit und Mächtigkeit zu tun.

Das ist ein fortlaufender Prozess ohne Ende. ;-)


Kimanon 
Beitragsersteller
 09.06.2024, 08:04

Wie stehst du zu Kommentaren?

CatsEyes  09.06.2024, 08:05
@Kimanon

Nutze ich, allerdings ersetzt das keinesfalls eine Gesamtdokumentation der Abläufe usw.

Ein Paar Jahre

Ich habe mit Python angefangen und schon von

anfang an Zeilenumbrüche gemacht. Dann habe ich mit C weiter gemacht und dann zb anstatt

int main {
}

habe ich so gemacht:

int main
{
}

Aber bei mir spielt auch immer die schönheit vom Code ne Rolle.

Und danach kamen auch andere Sprachen underanderen C# und JS

Woher ich das weiß:Hobby – Programmier/Linux/Server Erfahrungen
Länger
bis du in deinem Code Schönheit und Mächtigkeit zu sehen begonnen hast

Das ist noch nicht passiert 🤣

Woher ich das weiß:Berufserfahrung – Game Developer mit Lehrerfahrung

CatsEyes  09.06.2024, 08:00

Mir war, ist da Effizienz, Anwenderfreundlichkeit und Nutzen am wichtigsten, und Wartbarkeit. Das hat m. E. wenig mir Schönheit und Mächtigkeit zu tun

Pixelated  09.06.2024, 08:02
@CatsEyes

Ja richtig. Code muss funktional, leserlich und effizient sein. Und nicht schön.

Und manchmal sind die unschönen Lösungen die effizienteren.

CatsEyes  09.06.2024, 08:04
@Pixelated

Sollte eigentlich als Antwort nicht als Kommi hier rein. Kaffee wirkt noch nicht... ;-)

Kimanon 
Beitragsersteller
 09.06.2024, 07:59

Ich meine Effizienz))

Kimanon 
Beitragsersteller
 09.06.2024, 08:01
@Pixelated

Das sind nicht meine Worte, sie sind von Eric Raymond)) Ich denke er meinte mit Mächtigkeit Effizienz