Wzorce projektowe - POMOC

T7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Chciałbym serdecznie zachęcić do wypełnienia poniższej ankiety, dzięki której zgromadzę informacje niezbędne do napisania pracy magisterskiej.
Badanie dotyczy zasadności wykorzystania wzorców projektowych w tworzeniu oprogramowania, jest anonimowe i zajmuje maksymalnie kilka minut.

Wdzięczny będę również za przekazanie linku dla znajomych programistów.

Link do ankiety w formularzu google: https://forms.gle/riKJbvfKus2zFmzv5

Z góry dziękuję i pozdrawiam.

mar-ek1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 526
4

Bardzo ogólne te pytania. Bo pytania o to czy coś łatwo zaimplementować albo czy powoduje rozdmuchanie kodu są bardzo zależne od konkretnego wzorca. Bo singleton łatwo zaimplementować i nie dodaje nowych klas, ale czytelności nie poprawia. A znowu jakiś inny wzorzec może mieć zupełnie odwrotnie - być trudny w implementacji ale potem dawać np. rozszerzalność i czytelność.
Więc nie potrafię wypełnić ankiety bo jeśli przy każdym pytaniu wyciągnę "średnią" to wyjdzie na to, że wszędzie powinienem zaznaczyć "nie mam zdania".

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8490
4

Uważasz, że wzorce projektowe są proste do nauczenia ? *

Dla kogo proste? Ja uważam, że ogólnie większość wzorców projektowych jest prosta do nauczenia (pomijając wzorce programowania funkcyjnego), tym niemniej widzę, że wiele osób ma z tym problem. Więc niekoniecznie wcale takie proste.

Ba, nawet jak się umie zaimplementować dany wzorzec, to wcale nie jest powiedziane, że się zrobi to dobrze i że człowiek będzie ich mądrze używał. Ludzie używają wzorców często błędnie, bezmyślnie.

Ogólnie pytania trochę są od czapy. Takie jakby pytania z postawioną tezą Czy zastosowanie wzorca wiąże się z eksplozją kodu - powstaniem dużej liczby nowych klas? (i tak w każdym pytaniu - jakaś teza i czy się zgadzamy czy nie). Czyli ankieta pokaże tylko tyle, jak wielki procent ludzi zgadza się z postawioną z góry tezą. A w ten sposób nie dojdziesz do tego, w jaki sposób programiści faktycznie używają wzorców, i czym w ogóle ten wzorzec jest (to nie takie oczywiste, te opisane Gang of Four to nie jedyne wzorce projektowe. W zasadzie wszystko może być jakimś wzorcem).

Słowem - nie sądzę, żeby ta ankieta przyniosła jakąkolwiek sensowną nową wiedzę. Jak zresztą większość tego typu ankiet z pytaniami zamkniętymi. Moim zdaniem metody czysto ilościowe w badaniu zachowań społecznych to pomyłka. Złudzenie wiedzy, bo ileś procent coś odpowiedziało, ale nie będzie mieć to żadnego przełożenia na rzeczywistość (dlatego lepsze są metody jakościowe, gdzie się ludziom zadaje pytania otwarte albo obserwuje w działaniu).

Uważasz, że zaimplementowany przypadek użycia wzorca jest łatwo rozszerzalny? -Który zaimplementowany przypadek? Powinien być snippet kodu do oceny, bo przecież kod bywa różny.

Czy zastosowanie wzorca wiąże się z eksplozją kodu - powstaniem dużej liczby nowych klas?

Postawiona z góry teza, że zastosowanie wzorca zawsze jest takie samo. A przecież zależy jaki wzorzec, kto go zaimplementuje (ja nie będę robił wielu klas, a ktoś inny narobi klas na potęgę), zależy w jakim języku programowania itp. Na to pytanie nie da się odpowiedzieć.

Czy twoim zdaniem użycie wzorca poprawia czytelność kodu? *

I znowu. Może poprawić, może zaciemnić. Z tych samych powodów. Czyli jedyna słuszna odpowiedź "nie mam zdania".

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
3

Prawie całą jakoś wypełniłem, ale jak zobaczyłem to g**no:

screenshot-20200307200038.png

to zamknąłem.

T7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Rozumiem, że wzorce to bardzo rozległy temat, dlatego zawęziłem go do wzorców sklasyfikowanych przez "Gang of Four".
Pytań nie mogłem rozdzielić na każdy z wzorców oddzielnie, gdyż ankieta byłaby zbyt obszerna.
Niemniej przemawiają do mnie te argumenty. "LukeJL" mógłbym prosić Cię o przykład pytania otwartego o którym piszesz?
Dziękuję za trafne uwagi.

semicolon
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 114
1

Pytania są ogólne i w pewnym stopniu to dobrze, bo temat wzorców ciężko jest spłycić do krótkiej odpowiedzi. Natomiast złe jest to, że w ankiecie trzeba na wszystkie pytania udzielić odpowiedzi, i że głównie dominują zamknięte pytania. Jeśli zamkniesz pytania i przepuścić to przez losowe osoby to w Twojej pracy wyjdzie rozumowenie w stylu, że statystycznie pies i człowiek mają po 3 nogi. Tylko co z tego? :-)

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

Ok, poprawione, więc wypełniłem. Swoją drogą, "programiści" Ruby mogliby się obrazić.

No i przede wszystkim, to na większość pytań można udzielić zdecydowanie różnych odpowiedzi w zależności od tego, czy odbierzemy te pytania personalnie, czy jako pytanie odnośnie naszych obserwacji branży. Bo co z tego, że np. dla mnie wzorce projektowe są niezbędne, skoro widzę, że setki ludzi daje sobie radę używając ich tylko w CV?

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8490
0
Taran7727 napisał(a):

Rozumiem, że wzorce to bardzo rozległy temat, dlatego zawęziłem go do wzorców sklasyfikowanych przez "Gang of Four".
Pytań nie mogłem rozdzielić na każdy z wzorców oddzielnie, gdyż ankieta byłaby zbyt obszerna.
Niemniej przemawiają do mnie te argumenty. "LukeJL" mógłbym prosić Cię o przykład pytania otwartego o którym piszesz?
Dziękuję za trafne uwagi.

No tu już trzeba się inwencją wykazać i pomyśleć, co się chce zbadać.

Ale zamiast 3 początkowych pytań można by zapytać o coś w stylu "Czy odczuwasz problemy dot. implementacji/nauki wzorców. Jeśli tak, to jakie to są problemy?". I niech ludzie się sami wypowiedzą, czy mają problemy i jakie to są problemy. Po to, żeby naświetlić kontekst. No, wyobraź sobie, że kurczę, chciałbyś napisać książkę o wzorcach projektowych i ta ankieta miałaby posłużyć za wskazówkę "jakie tematy powinienem poruszyć w książce?". Jak są same zamknięte w tej formie to nawet jak ktoś zaznaczy odpowiedź bardzo wolno w pytaniu Jak szybko jesteś w stanie zaimplementować wzorzec? * , to nie niesie to ze sobą żadnej informacji, nie podsuwa ci tematów na rozdziały.

Można też zapytać, z jakich źródeł się ktoś uczy tych wzorców (to akurat nadawałoby się nawet na zamknięte pod warunkiem, że można byłoby wybrać odpowiedź inne i wpisać swoją odpowiedź).

Można zapytać o to, żeby ktoś napisał, jakie są wg niego najbardziej przydatne/nieprzydatne wzorce itp.

Zamiast Czy zastosowanie wzorca wiąże się z eksplozją kodu - powstaniem dużej liczby nowych klas? można zapytać o to, czy ktoś się spotkał z negatywnymi skutkami/wadami używania wzorców - i jak tak, to niech sam napisze jakimi.

Kolejne dwa pytania (Uważasz, że zaimplementowany przypadek użycia wzorca jest łatwo rozszerzalny? i Czy twoim zdaniem użycie wzorca poprawia czytelność kodu?) można by zamienić analogicznie na pytanie o pozytywne skutki/zalety używania wzorców

Albo Uważasz, że łatwo jest określić czy w danej sytuacji ma sens zastosowanie wzorca? można zamienić na w jaki sposób decydujesz, jakiego wzorca użyć w danym momencie? albo coś podobnego.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.