🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #9833

Re: .NET krytycznym okiem

#9833
From: Tomasz Kopacz
Date: Thu, 10 Nov 2005 23:06
67 lines
4107 bytes
On Tue, 8 Nov 2005 07:45:52 +0100, Rami wrote:

> Użytkownik "Wiktor Zychla" <user@nospam.com.eu> napisał w wiadomości
> news:dkonio$t5b$1@atlantis.news.tpi.pl...
>>> no to weźmy na początek mechaniznm wyjątków:
>>> moim zdaniem brak specyfikacji wyjątków, jest bardzo złym pomysłem, bo
> co
>>> w
>>> systuacji gdy korzystamy z czyjejś klasy, skąd mamy wiedzieć jakie
> wyjątki
>>> są rzucane, a przecież trzeba jakieś działania podjąć. a nawet jeśli
> sami
>>> napisaliśmy klasę, to nie musimy pamiętać co i jak jest rzucane. pół
> biedy
>>> kiedy mamy dokumentację, bo wtedy możemy liczyć, że wszystko jesta
>>> napisane,
>>> ale co jeśli nie jest? i co jeśli nie mamy dokumentacji? uważam to za
> duży
>>> problem i myślę, że wiele osób zgodzi się z tą opinią....
>>
>> ... z drugiej strony jeśli Ty piszesz bibliotekę A, z niej korzysta
>> biblioteka B, z niej biblioteka C, która jest OpenSource i poszła w świat
> do
>> kilku tysięcy ludzi i nagle przyszło Ci do głowy dołożyć jedną linijkę
> kodu
>> do jednej ze swoich metod, która to linijka rzuca jakimś
> niewyspecyfikowanym
>> dotąd wyjątkiem, to okazuje się, że cały świat musi zrekompilować swoje
>> programy z powodu jednej drobnej zmiany w Twoim kodzie.
>>
> 
> 
> to Twoim zadaniem jest tak pisać biblioteki, aby były kompatybilne z
> wcześniejszymi wersjami,
> jeśli potrzebujesz rzucić innego typu wyjątkiem to robisz funkcję o innej,
> podobnej nazwie i tylko informujesz, że "dobrze by było" używać nowej
> funkcji. tak przecież działa java, mamy setki funkcji, które są
> "deprecated", ale muszą pozostać w bibliotece w niezmienionej wersji, aby
> zapewnić wsteczną zgodność.
I wg. ciebie to dobry pomysł?????
Rozumiem że bardzo ci się podoba organizacja Windows API :)
Albo com-owskie interface2,interface3 itp.

Mnie tam się podoba mechanizm że obiekt jest związany z _konkretną_ mocną
nazwą pakietu - a jak ktoś lubi to po prostu będzie n wersji pliku dll -
trudno; był popularny

I wtedy - czy są wyjątki zrealizowane jak w javie, czy jak w C# - to mniej
istotne

Natomiast - co do tego by wiedzieć kto gdzie rzuca wyjątek... Tak naprawdę
przecież może nagle zabraknąć pamięci - i mieć nieoczekiwany wyjątek..

Weź pod uwagę że za takim sposobem podejścia do wyjątków jak w C# masz
określony sposób budowy Exception - np.masz je de facto pogrupowane wg.
"sytuacji" wyjątkowych - i generalnie aplikacja rzuca wyjątek nie swój
własny, a np. - systemowy; zresztą w 1.1 pierwsze rzucenie wyjątku danego
typu trwa długo; w 2.0 - troszkę krócej
Na marginesie - tak samo można robić w Javie, ale ten kod co ja widziałem
miał np. "MyFileNotFoundException - czy coś takiego...
To jest kwestia umowy, sposobu projektowania. Mnie się wydaje wygodniejszy
C# - bo nie muszę się kłopotać czy mi coś nagle gdzieś na dole nie rzuci
wyjątku ;)

-- 
Pozdrawiam,
Tomasz Kopacz
Technical Details
Message-ID: <phwp2ki9wn3s$.dlg@fdsvzxcc.rtb.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <dkj7pd$o6q$1@nemesis.news.tpi.pl> <dko7pl$8t8$1@inews.gazeta.pl> <dkodq5$ioo$1@achot.icm.edu.pl> <dkog7o$odn$1@inews.gazeta.pl> <dkohr4$omk$1@achot.icm.edu.pl> <dkol9j$jv9$1@inews.gazeta.pl> <dkonio$t5b$1@atlantis.news.tpi.pl> <dkphil$bb3$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Tomasz Kopacz <tkopacz@nospam.idg.com.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: .NET krytycznym okiem
Date: Fri, 11 Nov 2005 00:06:19 +0100
Organization: tp.internet - http://www.tpi.pl/
Lines: 67
Message-ID: <phwp2ki9wn3s$.dlg@fdsvzxcc.rtb.com>
References: <dkj7pd$o6q$1@nemesis.news.tpi.pl> <dko7pl$8t8$1@inews.gazeta.pl> <dkodq5$ioo$1@achot.icm.edu.pl> <dkog7o$odn$1@inews.gazeta.pl> <dkohr4$omk$1@achot.icm.edu.pl> <dkol9j$jv9$1@inews.gazeta.pl> <dkonio$t5b$1@atlantis.news.tpi.pl> <dkphil$bb3$1@inews.gazeta.pl>
NNTP-Posting-Host: qr170.internetdsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1131663989 894 80.55.43.170 (10 Nov 2005 23:06:29 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Thu, 10 Nov 2005 23:06:29 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit