"To twoja opinia"

12

Czy zdarzyło się wam, że dyskutując o rzeczach technicznych, gdy argumentujecie rzeczowo jak coś powinno wyglądać, a jako kontr argument usłyszeliście:

"To twoja opinia"

Jeszcze tym zrozumiał taki argument, jeśli chodziło by o coś mojego własnego wymysłu, ale parę razy usłyszałem to, gdy narzekałem na tak oczywiste rzeczy jak:

  • liczby magiczne
  • za długie i skomplikowane funkcje
  • za wiele argumentów funkcji

A dziś usłyszałem to, od gościa, który się chwalił, że pracował przez 8 lat dla MS, a była to odpowiedź na mój komentarz pod definicją lambdy, która miała powyżej 7 (siedmiu) argumentów i miała ponad 40 linii (dużo if-ów).

Zawsze jak słyszę ten "argument", to załamuję ręce i próbuję tłumaczyć, że to nie jest moja opinia i staram się podpierać źródłami godnymi zaufania (np to).
Niestety reakcja zwykle nie jest satysfakcjonująca.

Jak wy sobie radzicie, z tym wytrychem, który tak naprawdę jest zawoalowaną odpowiedzią: nie mam argumentów i nie przyznam ci racji lub nawet mam gdzieś twoje argumenty?

0

Niby ktoś, kto tak mówi ma rację (bo wszystko jest "czyjąś opinią"), ale ja tam wolę jednak jak ludzie mówią "to jest moja opinia", czyli sami się przyznają do tego, że są subiektywni, a nie wykorzystują oczywistej oczywistości do walki z innymi poglądami.

No i kaman, jak ktoś ewidentnie nie ma argumentów, poza tym, że "ja tak lubię robić" to równie dobrze mógłby przyznać się do tego i powiedzieć:

Ok, ja lubię liczby magiczne, i lubię pisać długie i skomplikowane funkcje.
Taki jest mój styl, taka moja pieprzona subiektywność. Tak się nauczyłem i tak piszę. Nie widzę w tym nic złego

Bo takie podejście ("to moja opinia") przynajmniej dopuszcza to, że kogoś możesz przekonać do zmiany zdania.

A przerzucanie piłeczki i mówienie "taka jest twoja opinia" to takie dziecinne obrażanie się i nie przyjmowanie krytyki, coś jak "jesteś głupi".

No chyba, że to druga strona nie ma stosownych argumentów.
Bo powiedzmy, że ktoś będzie chciał przecisnąć jakiś dogmat, np. to, że Scrum jest najlepszą metodyką i wszyscy powinni pracować w Scrum, to jeśli taka osoba nie ma większych argumentów, to sorry, ale trzeba czasem go sprowadzić na ziemię i powiedzieć, że "taka jest twoja opinia". Żeby w ogóle to wiedział.
skreśliłem, bo w sumie przeciwko Scrumowi można wysnuć masę konkretnych argumentów i nie potrzeba sprowadzać do subiektywności. Ale nie chce mi się wymyślać innego przykładu.

1

Jak mi ktoś tak mówi co do takich rzeczy to odpowiadam prosto "nie, taki jest standard w tym projekcie" :D

1

Są narzędzia do pomiaru Code Quality - jeśli z nich nie korzystacie, to może doprowadź do jednorazowego testu (tak niby z ciekawości), rozegraj to tak, żeby w ogóle nie trafiało w kontekst Waszej wymiany zdań i ciesz się wysokim wynikiem 4.7/10 ;). Potem jako zespół przeanalizujcie raport.

Moim zdaniem koleś, którego przywołałeś jako przykład, nie czyta, nie interesuje się i jest niereformowalny - bo Ameryki przecież nie odkryłeś tymi postulatami. Dyskusje z nim powinieneś traktować jako ciekawe zjawisko, nic więcej. MS to akurat ostatnia firma, którą bym kojarzył z podążaniem za standardami jakości.

7

Ale to jest twoja opinia - z definicji. Ty uważasz, że funkcje są za długie i to jest twoja opinia. On uważa, że nie są i to jest jego opinia. W swojej zarozumiałości zakładasz, że tak bardzo masz rację, że to nie jest dla ciebie opinia, a prawda objawiona - a na potwierdzenie przytaczasz opinię kogoś innego, kto ma być wyrocznią, czyli podasz linka i to znaczy, że masz rację bo pod tym linkiem napisano, że ją masz.

Pytasz jak "sobie radzimy", no z tego co powyżej piszą to nijak, tylko na zasadzie przeciągania liny. Moja racja jest najmojsza. Ja wiem lepiej, a w Microsoft nie wiedzą. Zapuścmy jeszcze jakieś narzędzie z d**y i ono wykaże, że moja opinia to prawda najmojsza najlepsza.

2

To uczucie, gdy kozaki z internetu spotykają się z prawdziwym światem biznesu, gdzie znakomita większość ludzi ma w dupie ich uber code i studia a liczy się generowanie kasy.

3

@kulson: popatrz na moje przykłady. Ty naprawdę uważasz, że to jest moja opinia? No to popatrz na linka jakiego podałem. To jest dowód, że nawet jeśli uznać to za opinię to nie jest ona moja, ale opinia ludzi z pierwszej ligi naszej branży. A biorąc jeszcze pod uwagę rzeczowe uzasadnienie, to nie jest opinia, tylko stwierdzenie faktu jak wygląda dobra praktyka programistyczna.

Opinia to coś subiektywnego, jeśli podda się ją rzeczowej analizie dobrze uargumentuje i udowodni, to przestaje być subiektywną rzeczą i nie jest już opinią, ale faktem.

Przykład, nietechniczny: ktoś się źle klnie na całe gardło, ja mówię mu że to jest niekulturalne zachowanie. On odpowiada że to tylko moja opinia i będzie dalej robił jak chce. Czy naprawdę uważasz, że faktycznie, to tylko moja opinia, czy ogólnie przyjęta norma społeczna.

1

O rany kiedyś z tym strasznie walczyłem i miałem dużo trudnych i toksycznych przypadków. Nawet cały zespół przeciwko sobie.

Robienie metryk tak jak to napisał @roSzi, działa - pozwala przeciągnąć na swoją stronę sojuszników. Ludzie chyba lubią takie gierki i się wciągają (i można sobie zrobić metrykową patologię, ale to inny temat). W kilku zespołach dzięki metrykom dużo mi się udało osiągnąć , przy czym jeden to na początku była totalna patologia(nawet szkoda opisywać i tak nikt nie uwierzy -wyznawcy gorliwi copy paste i hashtable oriented programming).
Ale też to były czasy javy 1.3 i , 1.4 i wtedy działały Checkstyle, PMD i inne narzędzia, (miedzy innymi liczą Cyclomatic Complexity i inne metryki). Było mniej, więcej przyjęte (np. w Checkstyle) co jest dobrym kodem i mało kto sie kłócił, które reguły sa dobre, a które warto wyłączyć.

Teraz to bardziej pokitrane. Przez kod funkcyjny jest różnie, dużo metryk nie ma sensu (nawet CC w kodzie czysto funkcyjnym jest do duszy, potrafie zrobić mega skomplikowany kod bez jednego ifa ..., który ma idealne CC = 1). Przez rewolucję Clean Code - dużo reguł jest przestarzałych i jest więc nawet antymetrykami, antypatternami (checkstyle potrafi w defaultowej konfiguracji przyczepić się do braku JavaDoc do geterów).
Więc nie jest już tak łatwo.

Szukam artykułów z sieci i podaje linki - w celach edukacyjnych. (ile razy wrzuciłem artykuł Olivier Gierke o field injection to już nie pamiętam, o checked exceptionach itp. o nie robieniu w JSFie...)
Wrzucam i czasem kogoś przekonam (czasem to trwa). najgorsze, że w sieci do każdego artykułu znajdziesz antyszczepionkowcaów. Pewien plus, że jeśli oponent jest nieczytający to jest szansa, że nie będzie umiał znaleźć.
Nie do przecenienia jest też fakt, że jest mi łatwiej, bo jestem stary i mam brode - mam automatycznie +10 do autorytetu w sprawach IT.

Przy okazji: - może się okazać, że moja i Twoja opinia o liczbach magicznych jest różna.

Przypomniałem sobie, jak ... nie tak dawno temu zapisałem się na to forum... aby nauczyć się dskutować z ludżmi mniej zaawansowanymi. Bo o ile dogadywałem się zawsze z doświadczonymi programistami i architektami ... to zacząłem mieć problem z juniorami, przepaść w warstwie językowej (btw. widzę postępy).

0
MarekR22 napisał(a):

Przykład, nietechniczny: ktoś się źle klnie na całe gardło, ja mówię mu że to jest niekulturalne zachowanie.

Co ten przykład ma pokazać? To znów jest twoja opinia. Ktoś inny może widzieć to inaczej i mieć inną opinię.

@mr_jaro co innego ustalone standardy w firmie, które są arbitralnie narzucone w projekcie, a co innego jak kazdy kto chce może cię pouczać i twierdzi że tylko on ma rację. Asertywna odpowiedź zamiast "Spie****" to "to jest twoja opinia"

0

za długie i skomplikowane funkcje

za wiele argumentów funkcji

no to jest opinia :D

Od ilu zaczyna się wiele? 2? 3? 4?

Ja powiem 3, ty 2, itd...

Zależy jaki kod i jak można rozbić

0
kulson napisał(a):

@mr_jaro co innego ustalone standardy w firmie, które są arbitralnie narzucone w projekcie, a co innego jak kazdy kto chce może cię pouczać i twierdzi że tylko on ma rację. Asertywna odpowiedź zamiast "Spie****" to "to jest twoja opinia"

Standardy w firmie nie biorą się z księzyca. Albo narzucają je germańscy oprawcy ( i wtedy możemy tylko płakać), albo to zespoły je tworzą. I tu jest właśnie problem. Chcemy się dogadać co do regul, a dostajemy wielce konstruktywne spie to jest twoja opinia.

1
jarekr000000 napisał(a):

Chcemy się doagadać co do regul, a dostajemy wielce konstruktywne spie to jest twoja opinia.

Nie wiem, czego tu nie rozumiesz. Jeśli w ustalonych regułach nie ma wprost "4 argumenty funkcji już źle, a 3 to jeszcze dobrze", a ty mówisz że kod z funkcją o 4 argumentach jest zły, to jest to właśnie twoja opinia, bo według kogoś innego to może być dalej ok. Wszystkiego w regułach ująć się nie da i wszystko jest względne.

Wymyślono co najmniej kilka rozwiązań takich problemów, ale żadnego idealnego nie ma, opinia jak dupa, każdy ma swoją

0

Jeżeli to wyglądało też tak, że gość o życie nawala taska, a @MarekR22 biegnie, krzyczy: ee mam pomysła na refaktor tego kodu i 10min opowiada

i gość go po prostu olewa, bo ma ważniejsze rzeczy to też trudno się dziwić :D

3

@kulson @WeiXiao dziękuję za wasz wkład, ale nie założyłem tego wątku, by znowu doświadczać argumentu "To twoja opinia", ale by radzić sobie w takiej sytuacji.
Dlatego proszę was o kontynuowanie dyskusji jedynie w jednym z dwóch przypadków:

  • podajecie rzeczowe argumenty udowadniające, że to są tylko "opnie" (na razie ograniczacie się tylko do stwierdzenia "to twoja opina" i próby trollowania)
  • piszecie co by was przekonało, że jednak to nie są opnie

Jeśli chcecie mnie przekonać, że liczby magiczne, długie skomplikowane funkcje to nie problem, to udowodnijcie mi, że taki kod łatwiej się utrzymuje: poprawia, testuje.
Że taki kod nie generuje kosztów w przyszłości.
Na początek radzę jednak zaczerpnąć z jakiś źródeł, które rozprawiają się z tematem (może podrzucę jutro jakieś linki).

0

Z jednej strony racja, ale z drugiej wielokrotnie faktycznie w gre wchodzi opinia ktora osoba ja wyglaszajaca przedstawia jako cos obiektywnego. Nawet nie robi tego umyslnie jako ze jest swiecie przekonana ze przedstawia to w sposob obiektywny. Najgorsza jednak tego forma jest powowylywanie sie na logike/obiektywnosc podczas gdy nie ma to w ogole nic z tym wspolnego. Najczestszy tego przyklad mozna dostrzec w dyskusjach politycznych, kiedy to jedna strona uwaza ze "przeciez to logiczne, a Wy to jestescie stronniczy i zaslepieni". To chyba po prostu element naszej ludzkiej natury.

0

:D

2

Jeszcze bym zapomniał. Koniecznie poczytaj o typowych chwytach erystycznych.
http://www.marekczeszek.com/sitemap/adrem/adrem-02/adrem-nnnn-wykl-text.htm

Niektóre szuje, w tym chyba twój oponent posługują sìę tym biegle i naturalnie. Najgorsze, że nawet jak wiesz, że ktoś użył chwytu to czasem nie bardzo wiadomo co zrobić, możesz po prostu odesłać do hasła i pokazać. Ja tak parę razy robłem, ale najczęściej w dyskusjach mailowych. Wtedy jest czas ochłonąć.
Jak nie wiesz i dasz się w chwyt wpuścić i zagotować to jest jeszcze gorzej.

0

@MarekR22: odpisuję w poście jako że dyskusja tyczy się tematu wątku. Prosiłbym o to samo z Twojej strony.

No ok, ale czy koniec końców to nie są kolektywne opinie? :) pod tym względem nie ma znaczenia czy mówili to pan X, Y i Z czy może Zdzisiek, Ziutek i Janek. To nie jest nauka w najczystszej postaci, są to zagadnienia nie do końca wymierne. Oczywiście, ja w pełni rozumiem Twój punkt widzenia i się z nim zgadzam, rozumiem też do czego zmierzasz. Ale czy się nam to podoba czy nie, te dobre praktyki również bazują na opiniach. Są to oczywiście opinie poparte doświadczeniem, ale nadal bazujące na czymś co trudno obiektywnie wymierzyć.

3

Zbieżność z użytkownikami forum przypadkowa.

0

Wklejam wypowiedź OPa żeby inni widzieli:

jesteś po prostu kolejnym "obrońcą opinii", dla mnie to nie są opinie (i zapewniam cię że tak samo jest dla innych czołowych członków forum). Jeśli więc chcesz mieć wartościowy wkład do dyskusji to wypełnij warunki opisane w podlinkowanym poście.

OK, czyli jednak trolling... Nic tu po mnie w takim razie, ale przestroga dla innych- nie karmcie trolla.

2

Jak wy sobie radzicie, z tym wytrychem, który tak naprawdę jest zawoalowaną odpowiedzią: nie mam argumentów i nie przyznam ci racji lub nawet mam gdzieś twoje argumenty?

Prawdę powiedziawszy, w moim zespole to się nie zdarza, choć zdarza się, że reszta zespołu ma inną opinię (ze swoimi argumentami, których akurat nie podzielam) i zostaję demokratycznie przegłosowana - no cóż, wtedy po prostu godzę się z tym i robię jak mi kazali ;)

Jeżeli mam różnicę zdań z drugim programistą i nie możemy się dogadać (nie pamiętam, kiedy ostatnio tak było...), to wciągamy w dyskusję lidera zespołu, przedstawiamy argumenty i prosimy o decyzję.

Natomiast na argument "to twoja opinia" odpowiedziałabym bezpośrednio: "A TO jest twoja opinia. Ale moja opinia jest mojsza niż twojsza ;)"

3

"To twoja opinia" - to chwyt w dyskusji, jak już napisał @jarekr000000
Wskazuje na fakt, ale nie dodaje że to jest też ogólnie przyjęta opinia albo że to jest jakieś założenie którego się powinniśmy trzymać.
I w zasadzie nie ma podstaw żeby to dodawać, bo te miary kodu różnią się w zależności od firmy.
A to czy wskazany problem jest czymś co trzeba rozwiązać czy "tylko Twoją opinią" można rozsądzić na kilka sposobów.

W zasadzie to bardziej tu chodzi o proces przeprowadzania code review.

  • czy macie wdrożone metryki kodu? Czy ten kod je przechodził?
  • czy macie spisany jakiś standard kodowania? Czy wspomniany kod do niego pasował?
  • czy znasz jakiś ogólny standard kodowania (Google, Oracle) który by był łamany przez ten kod?
  • czy w ocenianym kodzie były jakieś błędy?

Jeśli na wszystkie te pytania odpowiedź brzmi "nie" to ja w zasadzie takich uwag nie zgłaszam, chyba że kogoś lubię i wiem że chce się uczyć.
Uwagi w code review staram się żeby były bezdyskusyjne, takie w rodzaju "to jest brzydka funkcja" staram się unikać, bo w ten sposób można się zawsze przyczepić.
Lambdy wymagają osobnych standardów i jeszcze nie widziałem zapisów je regulujących.
Nawet tu na forum pytałem chyba jak sobie z tym radzicie.

Tego kogoś kto pisze lambdy na 40 linii i przy tym dyskutuje potraktowałbym jako trudnego w obyciu juniora który nie chce się uczyć.
Jeśli jesteś leadem to masz wpływ na taką sytuację (code review, rozmowa 1-on-1, wymiana).
Jeśli jednak jesteś na tym samym poziomie w projekcie to możesz sobie co najwyżej cicho przeklnąć.
Wtedy jego kod oceniałbym tylko pod względami bezdyskusyjnymi, a te dyskusyjne zachował dla siebie.
Chyba że jesteście rozliczani z code review - wtedy zgłaszaj uwagi w code review z tą myślą że zostaną pewnie olane.
Unikaj przy tym wpisów typu "WTF is this???" nawet jeśli rani to Twoją duszę. Po prostu napisz "this lambda code is too long".

3

W małych zespołach bywa tak, że tylko jedna osoba pracuje w danej technologii i samodzielnie ciągnie projekt. W takim wypadku, gdy przyjdzie jakiś męczydupa i zacznie się czepiać bo zobaczy funkcję, która ma 5 , zamiast 4 argumentów i nie jest to krytyka konstrutywna to stwierdzenie "to jest twoja opinia" jest jeszcze zbyt łagodne

Jeśli ktoś ma jakąś lepszą propozycję, można ją brać pod uwagę. Ale jeśli ktoś przyjdzie, pokaże palcem, że "ta metoda jest za długa" i nie zaproponuje alternatywy, a w dodatku nie jest w żaden sposób umocowany do wydawania mi poleceń (nie jest wyżej w hierarchii, tylko lubi się wymądrzać), to zachowuje się jak buc

0

Wyjaśnię trochę swoją wypowiedź bo widzę że niektórzy mają tutaj jakieś problemy z czytaniem że zrozumieniem lub popełniają jakieś logiczne błędy. Albo jedno i drugie...

Szanowny OP, pytasz o konkretne argumenty lub dowody. Jak już pisałem wyżej ja się z Tobą zgadzam co do argumentacji w przykładach które wymieniles, a odpowiedzi Twoich rozmówców w stylu "to Twoja opinia" są trochę bez sensu i ciężko z kimś takim prowadzić dalszą dyskusje. Jest to trochę jak argumentum ad persona, gdzie w zasadzie ten "argument" jest po prostu ostateczna próbą sprzeciwu przy wyczerpaniu innych argumentów.

Wskazuję natomiast- i wydawało mi się że jest to dosyć proste- że o ile Twoje intencje są słuszne, to kierujesz się tutaj całkowicie błędnym przekonaniem jakoby Twoje argumenty opiniami nie były. Otóż są - dla czego? Chciałeś jakich konkretnych dowodów, więc proszę:

https://sjp.pwn.pl/slowniki/opinia.html

Chyba najważniejszy punk w tym kontekście: orzeczenie specjalisty na jakiś temat

Ty natomiast, jak i kilka innych osób tutaj traktujesz opinię jak fakt:

https://sjp.pwn.pl/slowniki/fakt.html

I tu głównym punktem powinien być fakt naukowy: stwierdzenie konkretnego stanu rzeczy lub zdarzenia w określonym czasie i przestrzeni.

Czy jesteś w stanie tak właśnie stwierdzić/określić, najlepiej za pomocą matematyki, że magiczne liczby to zło? Oczywiście że nie, bo jest to (słuszna) opinia.

Więc zamiast bawić się w jakieś ustawianie użytkowników w szeregu, ustalanie zasad, wypowiadane się w imieniu "czołowych członków" forum czy ucinanie dyskusji kiedy Tobie ona nie odpowiada, czytaj proszę ze zrozumieniem a wtedy wszystko będzie łatwiejsze i uniknie się nieporozumień. No bo inaczej, to czy tak bardzo różnisz się od współpracowników których krytkujesz?

3

a tak ogólnie to ludzie to mają problemy rodem z pomponika :)

0

Jeżeli nie jesteś jego przełożonym, czy kontrolerem jakimś, to szkoda Twojej energii i nerwów na dyskusje z tym współpracownikiem. Unikaj go a jak będzie coś mówił to potakuj z egzaltacja...

4
MarekR22 napisał(a):

Czy zdarzyło się wam, że dyskutując o rzeczach technicznych, gdy argumentujecie rzeczowo jak coś powinno wyglądać, a jako kontr argument usłyszeliście:

"To twoja opinia"

Ja akceptuję fakt, ze opinie mogą być inne. Staram się też zrozumieć kontekst w jakim te opinie są wymieniane.

  1. Jeśli ani ja, ani rozmówca nie mają żadnej mocy decyzyjnej, to możemy tak sobie długo wymieniać opinie i wymieniać... Gdy emocje wezmą górę, to strony rozejdą się w przekonaniu własnych racji i wyrobionej opinii na temat inteligencji rozmówcy.
  2. Jeśli ja mam moc decyzyjną, to rozmowa jest krótka -> 'do it'
  3. Rozmówca ma moc decyzyjną i argumenty nie przemawiają -> zacisnąć zęby i robić

Jawne nazwanie sytuacji ( w teorii gier, nazwanie gry neutralizuje grę) -> "Dyskutujemy o X, podałem argumenty Y, Ty nie podajesz argumentów i wskazujesz, że to moja opinia". Jeśli chcesz dyskutować, to możesz możesz rozegrać tak, "Ty masz inną opinię, chciałbym zrozumieć z czego ona wynika. " i dalej jedziesz pytaniami Sokratesa (wyjaśniające/o założenia/o dowody/o odmienne perspektywy/o konsekwencje), tu dobrze byłoby poczytać o tych pytaniach Sokratesa :-)

Jeśli chcesz poprawić rozmowę i przekonywanie kogoś do swoich racji, to warto mieć świadomość, że rozmowa też ma pewną strukturę. Poszukaj sobie po terminach Claim/Support/Warrant. Kiedyś na courserze był taki wykład 'public speaking' i gość krok po kroku przedstawiał jak przekonywać do swoich racji i jak zbijać argumenty oponenta.

0

A dziś usłyszałem to, od gościa, który się chwalił, że pracował przez 8 lat dla MS, a była to odpowiedź na mój komentarz pod definicją lambdy, która miała powyżej 7 (siedmiu) argumentów i miała ponad 40 linii (dużo if-ów).

To przynajmniej daje ogląd na to, jak wyglądają ich produkty pod spodem, a ludzie wciąż się dziwią dlaczego outlook potrzebuje czasem pół minuty żeby się włączyć. Anyway, mam szczęście być w zespole gdzie takie "argumenty" nie padają w tak oczywistych kwestiach.

1
Aventus napisał(a):

@MarekR22: odpisuję w poście jako że dyskusja tyczy się tematu wątku. Prosiłbym o to samo z Twojej strony.

No ok, ale czy koniec końców to nie są kolektywne opinie? :) pod tym względem nie ma znaczenia czy mówili to pan X, Y i Z czy może Zdzisiek, Ziutek i Janek. To nie jest nauka w najczystszej postaci, są to zagadnienia nie do końca wymierne.

Istnieje pewna szczególna forma kolektywnej opinii zwana naukowym konsensusem: https://en.wikipedia.org/wiki/Scientific_consensus

Scientific consensus may be invoked in popular or political debate on subjects that are controversial within the public sphere but which may not be controversial within the scientific community, such as evolution,[3][4] climate change,[5] or the lack of a link between MMR vaccinations and autism.[2]

Konsensus czołowych specjalistów to to czym podpierał się @MarekR22

podałem konkretne przykłady, które nie są moją opinią, ale są stwierdzeniami wypracowanymi przez takich ludzi jak: Bjarne Stroustrup, Herb Sutter, Robert C. Martin i wielu wielu innych znanych ludzi z naszej branży. Ok mała poprawka to są rzeczy wypracowane przez ich poprzedników, ale oni się pod tym podpisują w całej rozciągłości. - MarekR22 wczoraj, 23:56

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