![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 4.02.2014 Ostrzeżenie: (20%) ![]() ![]() |
Cześć, programuję w php, js, html, css, czyli taki standard jeżeli chodzi o strony www, frameworki to: laravel, vue.js, materializecss, może niektórzy mnie kojarzą po nicku.
Spotykam się czasem podczas pisania aplikacji z tym, że w pewnym momencie np. w połowie prac, uświadamiam sobie, że kod jest bardziej zawile napisany niż mógłbym być. Załóżmy, że chciałem zastosować do kilku funkcjonalności tą samą część kodu i teraz okazuje się, że, aby tą część wykorzystać, komplikuję sobie świeżo pisane rzeczy, żeby je dostosować do tego co już mam. Teraz przyszło mi na myśl, czy aż tak ważne jest to, aby nie powielać kodu, bo w sumie kierując się taką genezą, wszystko mam (tak mi się wydaje) napisane bardziej zawile, ostatecznie tylko po to, żeby wykorzystać istniejące elementy i dostosować do nich nowe. Przeważnie znajdują się jakieś mini różnice w poszczególnych funkcjonalnościach, które po zsumowaniu robią o wiele większy bałagan niż jakby napisać dla każdej funkcjonalności oddzielnie ten "uniwersalny kod". Dodatkowo, jeśli teraz chciałbym zmienić rzeczy, które są używane w kilkunastu miejscach, to te kilkanaście miejsc przestaje działać z automatu i muszę je wszystkie poprawiać. Nie wiem, czy przedstawienie sprawy w tak ogólny i teoretyczny sposób pozwoli Wam się odnieść do tematu, jeśli nie to podam jakiś przykład. Druga rzecz, to np. 5 lub więcej rozwiązań jednego problemu, gdzie większość wydaje się być niezła. Jak podejmujecie decyzje, czy na szybko, czy jakoś bardziej analizujecie, bo mi schodzi trochę czasu na takie analizy i jest to dość irytujące? Mam w sobie jakąś taką cechę, że strasznie drażni mnie jak zaczyna się robić bałagan i zależy mi bardzo na prostocie i przejrzystości tego co piszę, zarówno od strony użytkownika jak i programisty, chciałbym, żeby to co piszę było idealne i jak mi się nie udaje to mam nerwy. Czy macie podobne problemy, jeśli tak, jak sobie z nimi radzicie? Może to kwestia doświadczenia, programuję zawodowo już praktycznie 2 lata, więc trochę doświadczenia nabrałem, ale to jednak nie 10 lat:p Próbuję sobie wytworzyć jakieś standardy i rozwiązania powtarzalnych problemów, czyli np. stosować jeden lub dwa typy formularzy we froncie, na upload filmów mieć jeden sprawdzony sposób po stronie użytkownika i serwera, usuwanie zasobów też działające w konkretny sposób do wielokrotnego stosowania. Tylko teraz pytanie się pojawia, czy chcąc budować taką swoją bazę rozwiązań nie zostanę w tyle, przez to, że nie zapoznaję się z innymi narzędziami, a pracuję cały czas na tych samych, oczywiście aktualnych wersjach. Co sądzicie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 4.02.2014 Ostrzeżenie: (20%) ![]() ![]() |
Dekorator to dobre rozwiązanie, ale nie wystarczające, więc musiałem je połączyć z innym.
Swoją drogą zadanie dla Was. Jak we wzorcu dekorator przekazywać pomiędzy obiektami atrybuty elementu dekorowanego, tak, żeby każda klasa miała do nich dostęp i mogła je modyfikować i, żeby każdy obiekt widział te zmiany.
Powiem Ci tak, jeśli pracujesz na Symfony, albo Laravel, przesiądź się na CodeIgnitera, albo Kochane i zacznij pisać takie same systemy. Jeżeli nie sprawia Ci to różnicy, to okej, nie wszystkim musi zależeć na jakości pracy, ale jeśli komuś zależy to rękami i nogami będzie się bronił przed taką przesiadką, więc to nie tylko narzędzie request-response + mvc, bo configi, routing, seedy, migracje, storage, env, blade, eventy, jobsy, composer, paczki, artisan, helpery, walidacja, translatory itd. Więc zdecydowanie uproszczacie, CodeIgniter i Kochana nie ma nawet połowy z tego. Framework to owszem narzędzie, ale można używać samego młotka, albo wielu wyspecjalizowanych narzędzi, jakich dostarczają dobre frameworki.
To jest właśnie myślenie ludzi, którzy uczą się miliona rzeczy, a w żadnej nie są specjalistami. Każdy z osobna ma wpływ na rynek, jeśli zmieniasz to co lubisz na coś czego nie chcesz robić, tylko po, żeby znaleźć pracę, to dostaniesz pracę, ale się nie rozwijasz i w dłuższym czasie jesteś na minus. Ja np. nienawidzę wordpressa, bo jest zaprzeczeniem obiektowego programowania i ukazuje hipokryzję ludzką, ponieważ wszyscy mówią o obiektowym pisaniu kodu, a później jadą na wordpressie, który jest funkcyjny. Jednak jeśli lubiłbym worpressa, to śmiało mógłbym się w nim rozwijać i cisnąć cały czas, a zmienianie co 4 miesiące cmsa na joomlę, albo drupala, albo jeszcze coś innego, byłoby staniem w miejscu, bo w żadnym z tych narzędzi nie byłbym specjalistą. Jeżeli siedzi się w czymś np. 2 lata i uzna się, że już osiągnęło się poziom mastera, wtedy można zmienić framework lub narzędzie i można o sobie powiedzieć np. "jestem specjalistą w Laravel, robiłem na nim mnóstwo rzeczy i znam wiele rozwiązań", a nie mówić: "znam Laravela, pracowałem na nim 3 miesiące, zrobiłem jeden mały projekt" - nie znasz, liznąłeś. Jest takie powiedzenie: "jak coś jest do wszystkiego, to jest do niczego". Ten post edytował Omenomn 10.01.2017, 09:34:46 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 17:57 |