Zasady dobrego kodu - opis

0

Mam pomysł.
Wiele czytam na temat zasad programowania i sporo w tym jest... teorii. Bardzo rzadko jest widoczny sensowny przykład ukazujący zastosowanie danego wzorca, zasady itp.

W tym dziale chciałbym, aby każdy kto ma coś do dodania napisał:

  • Zasadę czystego kodu
  • Opis (opcjonalnie - wszak każdy ma google)
  • przykład ukazany w jakimś języku programowania (esencja mojego pomysłu)

W ten sposób zbudujemy tutaj mała bibliotekę zasad czystego kodu ukazując tym samym pewne zasady w praktyce (nie jakieś rozbudowane przykłady).

Mam nawet nieśmiałą propozycję by temat ten przypiąć i systematycznie dodawać nowe posty. Nawet moi drodzy - dodawajcie przykłady zasad opisanych już wyżej. Im więcej przykładów ym lepiej dla nas - braci programistów :)

O jakie mi zasady chodzi? Wymienię te, które mi są znane i przychodzą mi do głowy. Jeśli Ty drogi czytelniku znasz jakieś inne zasady, napisz o nich!

Spis zasad:

  • Zasady GRASP
  • Zasady SOLID
  • Programowanie przez kontrakt
  • Programowanie przez dziedziczenie
  • Programowanie przez kompozycję
  • DRY
  • KISS
  • YAGNI

Sporo można nauczyć się z przykładów bardzo prostych, a te trudno znaleźć bo np autor bloga za bardzo odpłynął w swoich przemyśleniach lub też brak przykładu do opisanej teorii.

Myślę, że taki topic byłby bardzo interesujący.
Pozdrawiam.

0

Wiele czytam na temat zasad programowania i sporo w tym jest... teorii.

Widzisz, bo to jest teoria, tylko i wyłącznie. To są zasady, które stosuje się podczas budowania abstrakcji.

W tym dziale chciałbym, aby każdy kto ma coś do dodania napisał:

  • Zasadę czystego kodu
  • Opis (opcjonalnie - wszak każdy ma google)
  • przykład ukazany w jakimś języku programowania (esencja mojego pomysłu)

Słabym punktem Twojego pomysłu jest jego "esencja", te zasady to abstrakcje, sam kod nie ma większego znaczenia.

W ten sposób zbudujemy tutaj mała bibliotekę zasad czystego kodu ukazując tym samym pewne zasady w praktyce (nie jakieś rozbudowane przykłady).

Jak zamierzasz pokazać KISS czy YAGNI?

Spis zasad
[...]

  • Programowanie przez dziedziczenie
  • Programowanie przez kompozycję

Nie ma takich "zasad", może za wyjątkiem preferowania kompozycji ponad dziedziczeniem.

Sporo można nauczyć się z przykładów bardzo prostych, a te trudno znaleźć bo np autor bloga za bardzo odpłynął w swoich przemyśleniach lub też brak przykładu do opisanej teorii.

Jak już pisałem, te zasady to teoria, to abstrakcje, do których nie tworzy się przykładowego kodu.

Myślę, że taki topic byłby bardzo interesujący.

Topic byłby śmietnikiem, celem forum jest dyskusja, zapraszamy do rejestracji w serwisie i rozwijania Kompendium wiedzy.

0

Abstrakcję można zaprezentować na przykładzie.
KISS zaś można zaprezentować na przykładzie. Chociażby kilkunastu/dziesięciu linijek.

Jednak ok, jeśli pomysł odpada to trudno :) Pozdrawiam.

0
inżynier_program napisał(a):

Abstrakcję można zaprezentować na przykładzie.
KISS zaś można zaprezentować na przykładzie. Chociażby kilkunastu/dziesięciu linijek.

KISS to akurat jest abstrakcja, której nie da się w prosty sposób zaprezentować. YAGNI zaprezentować jeszcze trudniej...

inżynier_program napisał(a):

Jednak ok, jeśli pomysł odpada to trudno :)

A odpada? Forum służy luźniej dyskusji, Kompendium wiedzy jest właściwszym miejscem na budowanie solidnej bazy informacyjnej. Serwis 4programmers.net to forum i wiki, każda część serwisu ma swoje przeznaczenie, dlaczego wszystko chcecie upychać wśród setek tysięcy wątków na forum?

6
deus napisał(a):

Jak zamierzasz pokazać KISS czy YAGNI?

puts("Hello, Horse!");

0

Ja od siebie po prostu polecę książkę, którą ostatnio przeczytałem i uważam za bardzo wartościową:
Dependency injection in .NET (http://www.manning.com/seemann/); warto też blog autora poczytać: http://blog.ploeh.dk/

W skrócie, pokazane są zasady pisania dobrej architektury w myśl SOLID + DRY i miejsce dependency injection w tym procesie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1