Article View: pl.comp.lang.python
Article #28058Re: Interpretowany czy kompilowany?
From: zbrodel
Date: Sun, 22 May 2011 17:29
Date: Sun, 22 May 2011 17:29
50 lines
3245 bytes
3245 bytes
On 22.05.2011 11:10, jacek2v wrote:
> Nie uważam, że testy dają 100% niezawodności, ale dają (znacznie
> wyższy poziom niezawodności) vs. (włożony nakład pracy na ich
> przygotowanie) niż (typowanie) vs. (włożony nakład pracy na pisanie
> kodu).
>
Ale dlaczego "versus"?
Statyczne typowanie nie zastępuje testów, ale daje dodatkoą weryfikację.
Program ze zgodnymi typami nie musi być poprawny, natomiast program w
którym typy się nie zgadzają, poprawny nie będzie. Tyle i tylko tyle.
Co do testów - w innym poście tego wątku podałem przykład, będący nieco
uproszczonym przypadkiem z życia wziętym, gdzie po refaktoringu i zmiany
API jednej z bibliotek, do produkcji trafił kawałek niepoprawnego kodu
mimo że testy przechodziły bezbłednie.
Akurat tutaj kontrola typów na etapie kompilacji załatwiłaby sprawę.
Przy czym nie tweirdzę że jest to panaceum na wszystko.
> class c1{
> public int m1(int a) {
> a = a + 1;
> return(a);
> }
> }
> class c2 extends c1{
> public int m1(int a) {
> a = a + 2;
> return(a);
> }
> }
> public class jsimple{
> public static void main (String[] args) {
> c1 o1 = new c2();
> System.out.println (o1.m1(3));
> }
> }
> result: 5
>
> I co z tego, że typ c1? :(
Znaczy chcesz pokazać, że jak się spieprzy projekt struktury klas, to
już nic nie pomoże? Z tym jestem się w stanie zgodzić.
Przy dobrze zaprojektowanych klasach powyższy problem nie wystąpi, a na
źle zaprojektowane klasy lekarstwem nie jest ani kontrola typów, ani testy.
Pzdr
J.
Technical Details
Message-ID:
<irbh66$4fa$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mailReferences:
<iqmlha$r29$1@news.onet.pl> <4dcee603$1$2437$65785112@news.neostrada.pl> <iqo0j1$g9u$1@news.onet.pl> <87boz3anea.fsf@smsnet.pl> <iqqk2o$oh7$1@news.onet.pl> <0601cb5b-befa-46ba-9d1c-f105c81369fe@r35g2000prj.googlegroups.com> <iqrlte$rfe$1@news.onet.pl> <87k4dqe6vw.fsf@smsnet.pl> <iqt8gb$lo1$1@solani.org> <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com> <iqugpk$vbu$3@solani.org> <64a9b1f5-e71a-4b1e-b54b-029a032d6a17@x1g2000yqb.googlegroups.com> <ir58gg$me$1@speranza.aioe.org> <2f93f4ca-ccb1-42a5-b199-2d9902ee8629@l18g2000yql.googlegroups.com> <ir90vs$nd8$1@speranza.aioe.org> <b807128c-8325-4ef6-93a9-c41ba1609583@h7g2000yqa.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail From: zbrodel@tlen.pl Newsgroups: pl.comp.lang.python Subject: Re: Interpretowany czy kompilowany? Date: Sun, 22 May 2011 19:29:41 +0200 Organization: http://onet.pl Lines: 50 Message-ID: <irbh66$4fa$1@news.onet.pl> References: <iqmlha$r29$1@news.onet.pl> <4dcee603$1$2437$65785112@news.neostrada.pl> <iqo0j1$g9u$1@news.onet.pl> <87boz3anea.fsf@smsnet.pl> <iqqk2o$oh7$1@news.onet.pl> <0601cb5b-befa-46ba-9d1c-f105c81369fe@r35g2000prj.googlegroups.com> <iqrlte$rfe$1@news.onet.pl> <87k4dqe6vw.fsf@smsnet.pl> <iqt8gb$lo1$1@solani.org> <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com> <iqugpk$vbu$3@solani.org> <64a9b1f5-e71a-4b1e-b54b-029a032d6a17@x1g2000yqb.googlegroups.com> <ir58gg$me$1@speranza.aioe.org> <2f93f4ca-ccb1-42a5-b199-2d9902ee8629@l18g2000yql.googlegroups.com> <ir90vs$nd8$1@speranza.aioe.org> <b807128c-8325-4ef6-93a9-c41ba1609583@h7g2000yqa.googlegroups.com> NNTP-Posting-Host: abag229.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1306085382 4586 83.6.170.229 (22 May 2011 17:29:42 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Sun, 22 May 2011 17:29:42 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Thunderbird/3.1.10 In-Reply-To: <b807128c-8325-4ef6-93a9-c41ba1609583@h7g2000yqa.googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit