Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > pl.comp.lang.javascript > #3454

Re: Argument funkcji

From Cezary Tomczyk <cezary.tomczyk@gmail.com>
Newsgroups pl.comp.lang.javascript
Subject Re: Argument funkcji
Date 2018-03-03 21:19 +0100
Organization csiph.com Internet News Service
Message-ID <p7f00k$nqe$1@csiph.com> (permalink)
References (16 earlier) <slrnp9l11l.311p.wojciech.bancer@pl-test.org> <p7ei4m$eji$1@csiph.com> <slrnp9lkg8.h15.wojciech.bancer@pl-test.org> <p7enu8$iil$1@csiph.com> <slrnp9lss4.kfh.wojciech.bancer@pl-test.org>

Show all headers | View raw


On 03/03/2018 20:12, Wojciech Bancer wrote:
> On 2018-03-03, Cezary Tomczyk <cezary.tomczyk@gmail.com> wrote:
> 
> [...]
> 
>>>>> b) efektywnie rozdzielać pracę w zespole (sensowna struktura obiektowa, która
>>>>>     jest spójna i znana bo wynika z założeń / dokumentacji)
>>>> W teorii tak, a w praktyce wygląda to zupełnie inaczej.
>>> W praktyce wygląda dokładnie tak.
>> No to mamy różne doświadczenia.
> 
> Czyli umiesz się wylegitymować przypadkami, w których framework
> defakto spowodował niemożność pracy w zespole, w stosunku do wersji
> "bez"?

Piszesz, że framework pomaga "efektywnie rozdzielać pracę w zespole". To 
tylko częściowo prawda. Framework nie zaplanuje architektury aplikacji 
czy też modeli, przykładowo.

>>>> Trafiłem na projekt napisany w Angularze 1.x. W pewnym momencie
>>>> doszli do ściany, bo aplikacja stała się niezarządzalna.
>>> No i? Niczemu z tego co napisałem to nie przeczy.
>> No i to, że żaden framework nie gwarantuje niczego.
> 
> A gdzie tu była mowa o gwarancjach?

Ja twierdziłem, że frameworki nie gwarantują. Są tylko narzędziem, które 
ułatwiają.

>>> I że możemy efektywniej rozdzielać pracę bo ktoś już nad tym
>>> pomyślał i nie trzeba odkrywać koła na nowo.
>>
>> Owszem, przecież nie pisałem, że tak nie jest. Jeno to, że jeszcze
>> trzeba umieć z nich korzystać. Ale to już osobny temat.
> 
> Z wszystkiego trzeba umieć korzystać, więc niespecjalnie
> rozumiem taki argument.

">>> I że możemy efektywniej rozdzielać pracę bo ktoś już nad tym
 >>> pomyślał i nie trzeba odkrywać koła na nowo."

Ta? To weź do zespołu 10-ciu juniorów programistów. Zobaczymy, jak 
gładko będzie szło.

>>> Nie. Całkowicie mierzalne.
>>> Chociażby w ilości i skomplikowaniu aplikacji typu SPA jakie
>>> powstają dzisiaj, a jakie powstawały kiedyś.
>>
>> Stopień skomplikowania jest taki sam, tylko jego ciężar przeniósł się
>> gdzie indziej. Wcale dzisiaj (2018) nie jest łatwiej.
> 
> Dzisiaj (2018) jest znacznie łatwiej napisać "to samo" co np. w 1998 r,
> w dużo krótszym czasie. Tylko teraz wymagania są dużo większe, więc
> i nie piszemy "tego samego".

Ja nie napisałem, że pisze się to samo tylko, że pisanie oprogramowania 
jest (i będzie) nadal skomplikowane. Po prostu ciężar tego 
skomplikowania przeniósł się gdzie indziej. Teraz już nie myślisz o 
pewnych rzeczach, które robiłeś 10 lat temu, ale za to musisz robić 
rzeczy, których nie było 10 lat temu.

>>> I co z tego?
>>
>> I to z tego, że na siłę robimy w ES6 a i tak wszystko potem
>> transpilujemy do kilku MB ES5. Bo tak sobie frameworki wymyśliły. To
>> tylko przykład bezsenownego podejścia.
> 
> Transpilacja to nie jest "wymysł frameworków".

Autorów tych frameworków.

> Nie zgodzę się też z zarzutem narzutu w ilości "kilku MB".

No to sprawdź webpack bundle analyzer co siedzi w finalnych paczkach.

>>> Sens jest taki, że te "mikrooptymalizacje" kosztują czas.
>>> Dużo więcej czasu, za który musisz zapłacić / rbh.
>>> A korzyści realnej z tego nie masz żadnej, bo kilka MB
>>> to jest nic dla współczesnych systemów.
>>
>> Ja nie pisałem o mikrooptymalizacjach, a o tym, że frameworki same z
>> siebie dodają jeszcze masę syfu. Plus ludzie dodają np. całe Underscore
>> by skorzystać z jednej metody, itp. I aplikacje mają po kilka(naście) MB.
> 
> I co z tego? Nie piszemy strony dla Atari.

A co to ma do rzeczy?

>> Np. moim zdaniem 75% kodu wygenerowanego przez webpack dla Angulara to
>> masa śmieci. W ogóle pomysł na używanie na siłę ES6 w środowisku web,
>> który i tak jest transpilowany do ES5, jest średnio użyteczny. Pomijam
>> tutaj NodeJS, bo tu ma to sens. To oczywiście nieco dygresja.
> 
> ES6 ma mnóstwo przydanych usprawnień, które nie dość że poprawiają
> czytelność kodu, ale też powodują że łatwiej go utrzymać i łatwiej złapać
> błędy. Dodaj do tego możliwość np. typowania (flow lub typescript) i masz

Samo typowanie to za mało. Od łapania błędów to masz tslint 
(TypeScript), eslint, porządnie napisane unit testy, integration testy, 
generalnie cały process walidacji.

> o wiele wyższy stopień kontroli kodu. Pisałeś kiedyś aplikacje
> w zespołach większych, np. 5-8-osobowych lub większych?

Tak.

Uściślając, by nie kontynuować akademickiej dyskusji dalej: uważam, że 
frameworki to dobre narzędzia, które do pewnego stopnia pozwalają na 
organizację pracy. Niemniej jednak do tego dochodzi jeszcze m.in. 
znajomość procesów jakości, bezpieczeństwa, mechanizmy cache i cache 
policy, patternów, continuous deployment, continuous integration, itd.

-- 
Cezary Tomczyk
http://www.ctomczyk.pl/

Back to pl.comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Argument funkcji "konsul41@wp.pl" <konsul41@wp.pl> - 2018-02-21 08:19 +0100
  Re: Argument funkcji "konsul41@wp.pl" <konsul41@wp.pl> - 2018-02-21 09:28 +0100
    Re: Argument funkcji Roman Tyczka <noemail@because.no> - 2018-02-21 10:52 +0100
      Re: Argument funkcji "konsul41@wp.pl" <konsul41@wp.pl> - 2018-02-21 11:00 +0100
        Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-02-26 22:10 +0100
          Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-02-27 05:10 -0800
    Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-02-21 09:22 -0800
      Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-02-27 22:18 +0100
        Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-02-28 04:53 -0800
          Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-01 00:45 +0100
            Re: Argument funkcji Adam M <amorawski@magna-power.com> - 2018-03-01 07:01 -0800
            Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-01 07:08 -0800
              Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-01 20:22 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-01 12:34 -0800
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-01 22:53 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-01 14:03 -0800
                Re: Argument funkcji Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-03-01 23:13 +0100
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-01 23:40 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-02 00:08 -0800
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-02 00:14 -0800
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-02 12:39 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-02 04:45 -0800
                Re: Argument funkcji irq <ipluta62@gmail.com> - 2018-03-02 05:22 -0800
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-02 07:10 -0800
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-03 03:25 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-03 00:45 -0800
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-03 03:19 +0100
                Re: Argument funkcji Roman Tyczka <noemail@because.no> - 2018-03-03 09:52 +0100
                Re: Argument funkcji Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-03-03 12:17 +0100
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 14:17 +0100
                Re: Argument funkcji Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-03-03 16:49 +0100
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 17:34 +0100
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-03 17:22 +0100
                Re: Argument funkcji Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-03-03 17:49 +0100
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-03 19:01 +0100
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 19:14 +0100
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-03 21:24 +0100
                Re: Argument funkcji Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-03-03 20:12 +0100
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-03 21:19 +0100
                Re: Argument funkcji Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-03-03 22:32 +0100
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-03 22:36 +0100
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 22:55 +0100
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-04 10:24 +0100
                Re: Argument funkcji "PawelS pawel(at)wbcd(dot)pl" <fake@email.org> - 2018-03-09 16:51 +0100
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-02 21:10 +0100
                Re: Argument funkcji Roman Tyczka <noemail@because.no> - 2018-03-03 00:19 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-03 01:04 -0800
                Re: Argument funkcji ipluta62@gmail.com - 2018-03-03 01:14 -0800
                Re: Argument funkcji Roman Tyczka <noemail@because.no> - 2018-03-03 12:05 +0100
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 13:44 +0100
                Re: Argument funkcji Roman Tyczka <noemail@because.no> - 2018-03-03 12:04 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-03 04:40 -0800
                Re: Argument funkcji Roman Tyczka <noemail@because.no> - 2018-03-03 14:47 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-03 06:13 -0800
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-03 00:58 -0800
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 14:10 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-03 06:25 -0800
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 16:34 +0100
                Re: Argument funkcji Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-03-03 17:30 +0100
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 18:30 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-03 08:39 -0800
                Re: Argument funkcji Borys Pogoreło <borys@pl.edu.leszno> - 2018-03-03 19:10 +0100
                Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-03-03 10:34 -0800
  Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-02-21 05:06 -0800
  Re: Argument funkcji zpksoft <zpksoft@op.pl> - 2018-02-21 05:13 -0800

csiph-web