Article View: pl.comp.objects
Article #16721Re: Groovy
From: Aleksander Galicki
Date: Sun, 06 May 2007 23:13
Date: Sun, 06 May 2007 23:13
58 lines
4258 bytes
4258 bytes
waldemar.kot@bea.com napisał(a): > Aleksander Galicki wrote: > - Ale unit testy nie zastapia statycznego typowania. - > > No w=B3a=B6nie to neguj=B1 zwolennicy dynamicznego typowania. Jak patrz=EA = > na > w miar=EA niereligijnie prowadzone dyskusje (np. No Fluff Just Stuff), > to w=B3a=B6nie zwolennicy dynamicznego typowania upieraj=B1 si=EA, =BFe > statyczne typowanie nie eliminuje b=B3=EAd=F3w (poza - jak twierdz=B1 - > g=B3upimi, typu liter=F3wki, kt=F3re =B3atwo wyjd=B1 podczas pierwszego > uruchomienia test=F3w lub programu) - a jedynie "zadowala" kompilator. > B=B3=EAdy semantyczne pozostan=B1. I podkre=B6laj=B1 przy tym, =BFe nie ma = > co > nawet my=B6le=E6 o dynamicznym typowaniu, je=B6li nie ma si=EA nawyku > pokrywania tworzonego kodu unit testami (przy tym podaj=B1 miary > pokrycia na poziomie minimum 90%). Przyznam, =BFe mnie to przekonuje (a > przynajmniej na razie - nie pope=B3ni=B3em jeszcze =BFadnej du=BFej aplikac= > ji > w takim j=EAzyku jak cho=E6by Groovy - st=B1d staram si=EA nie popada=E6 w > skrajno=B6ci i s=B3ucha=E6 argument=F3w ka=BFdej ze stron). Z drugiej stron= > y - > to co stara=B3em si=EA przy okazji Grooviego podkre=B6li=E6 - =BFe mo=BFna = > u=BFywa=E6 > zar=F3wno statycznego (np. String s =3D 'W') jak i dynamicznego typowania. > Dynamiczne, te=BF w du=BFym stopniu polega na okre=B6laniu typu implicite > (np. def i =3D 1.0f powoduje, =BFe zmienna i jest typu java.lang.Float). > Ka=BFda zmienna ma typ i musz=B1 by=E6 zdefiniowane =B6cis=B3e regu=B3y kon= > wersji > mi=EAdzy typami - miejsca na magi=EA nie ma. Gdzie=B6 podczas przygl=B1dania > si=EA Grooviemu napotka=B3em taki rule of thumb, =BFe je=B6li podczas > tworzenia kodu "my=B6limy" o typie, to warto go zadeklarowa=E6, ale je=B6li > my=B6limy po prostu o obiekcie, to mo=BFna zastosowa=E6 dynamiczne > typowanie. > > Co do interfejs=F3w - zgoda - ale jak si=EA przygl=B1dam implementacji > generyk=F3w w Java 5 (cho=E6by w kontek=B6cie ich u=BFycia w interfejsach, = > po > to aby interfejs i jego implementacje by=B3y w miar=EA zwi=EAz=B3e), to w > sumie i tak statyczne typowanie jest cz=EAsto tracone, bo np. generyczne > kolekcje wewn=EAtrznie i tak korzystaj=B1 z Object. > Wewnetrznie to na poziomie bajtkodu. Ten poziom nikogo nie interesuje (tak samo jak nikogo nie interesuje ze typowanie jest tracone na poziomie komorek pamieci). Typowanie to kwestia skladniowa i interesuje ludzi na poziomie skladni wlasnie. Nawiasem mowiac: laczenie unit testow z typizacja w jedna sprawe wiekszego sensu nie ma. Unit testy sa rownie pomocne zarowno dla jezykow ze statyczna typizacja jak i tych dynamicznych. Zauwaz, ze procz kwestii poprawnosci istnieje tez kwestia czytelnosci, a z mojego doswiadczenia wynika ze latwa dostepnosc statycznej informacji o typach pardzo pomaga czytelnosci. A. -- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Technical Details
Message-ID:
<f1lnfk$1tf$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<f170i0$5uk$1@inews.gazeta.pl> <1178227403.287154.200390@l77g2000hsb.googlegroups.com> <f1dsp0$sqg$1@inews.gazeta.pl> <1178282685.193292.74900@y5g2000hsa.googlegroups.com> <f1g7tk$2g1$1@inews.gazeta.pl> <1178314635.903067.318510@p77g2000hsh.googlegroups.com> <f1g9ra$9ov$1@inews.gazeta.pl> <1178323414.721252.49930@y5g2000hsa.googlegroups.com> <f1h626$2cn$1@inews.gazeta.pl> <1178369045.701778.37370@e65g2000hsc.googlegroups.com> <f1jgpf$rra$1@inews.gazeta.pl> <74kq33tqj7drfb8pq59sogveuuuddjflu6@4ax.com> <1178460667.001733.20730@h2g2000hsg.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: "Aleksander Galicki" <tretete@WYTNIJ.gazeta.pl> Newsgroups: pl.comp.objects Subject: Re: Groovy Date: Sun, 6 May 2007 23:13:56 +0000 (UTC) Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 58 Message-ID: <f1lnfk$1tf$1@inews.gazeta.pl> References: <f170i0$5uk$1@inews.gazeta.pl> <1178227403.287154.200390@l77g2000hsb.googlegroups.com> <f1dsp0$sqg$1@inews.gazeta.pl> <1178282685.193292.74900@y5g2000hsa.googlegroups.com> <f1g7tk$2g1$1@inews.gazeta.pl> <1178314635.903067.318510@p77g2000hsh.googlegroups.com> <f1g9ra$9ov$1@inews.gazeta.pl> <1178323414.721252.49930@y5g2000hsa.googlegroups.com> <f1h626$2cn$1@inews.gazeta.pl> <1178369045.701778.37370@e65g2000hsc.googlegroups.com> <f1jgpf$rra$1@inews.gazeta.pl> <74kq33tqj7drfb8pq59sogveuuuddjflu6@4ax.com> <1178460667.001733.20730@h2g2000hsg.googlegroups.com> NNTP-Posting-Host: 203.109.151.60 X-Trace: inews.gazeta.pl 1178493236 1967 172.20.26.238 (6 May 2007 23:13:56 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Sun, 6 May 2007 23:13:56 +0000 (UTC) X-User: tretete X-Forwarded-For: 172.20.6.161 X-Remote-IP: 203.109.151.60 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit