-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Edek Pienkowski <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out
Date: Fri, 29 Jun 2012 06:07:01 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 57
Message-ID: <jsjgm4$iu5$18@inews.gazeta.pl>
References: <jsab6l$98b$5@inews.gazeta.pl> <jsj6jk$e7j$1@inews.gazeta.pl>
NNTP-Posting-Host: static-81-219-27-130.devs.futuro.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1340950021 19397 81.219.27.130 (29 Jun 2012 06:07:01 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 29 Jun 2012 06:07:01 +0000 (UTC)
X-User: pieniekusenet
User-Agent: Pan/0.135 (Tomorrow I'll Wake Up and Scald Myself with Tea; GIT 30dc37b
master)
Xref: news-archive.icm.edu.pl pl.comp.programming:198206
[ ukryj nagłówki ]Dnia Fri, 29 Jun 2012 03:15:00 +0000, M.M. napisal:
> Edek Pienkowski <e...@g...com> napisał(a):
>
>> Powiedzmy, Ĺźe mam metodÄ ktĂłra ma ze 30 zmiennych i, co oczywiste w
>> tym przypadku, jest za duĹźa. ChcÄ jÄ podzieliÄ.
> Ciekawe na czym polega istota problemu, bo jak rozumiem z powodu
> zwykłego podziału na pod-procedury na forum byś nie pisał.
Głównie chodziło mi o przekazywanie parametrów w Javie.
>
> Ja często po prostu nie dzielę. Nie dzielę gdy są spełnione dwa warunki:
> 1) Nie ma ani jednego kawałka wspólnego kodu. Mowa tutaj o trudnym
> kodzie, w
> którym łatwo o błąd. Jeśli są małe wspólne fragmenty kodu, ale kod
> jest trywialny to też nie dzielę.
Ta nie ma wspólbych fragmentów, co najwyżej podobne.
> 2) Gdy jedna duża procedura robi jedno dobrze wydzielone zadanie. Na
> tyle
> dobrze, że nie wyobrażam sobie aby w przyszłości zaszła potrzeba
> podziału.
> Owszem czasami się mylę i źle oceniam na początku że nie będzie
> potrzebny podział. Jednak są to sytuacje na tyle trudne, że nawet
> jakbym podzielił od razu, to i tak bym to zrobił w sposób
> nieułatwiający późniejszą pracę nad kodem.
Ja podobnie, czasami jak metoda jest logiczną całością może być większa
i nie rozdzieram nad tym szat.
>
> A co do problemu dużej ilości parametrów, to można po prostu upakować w
> strukturę albo klasę. Wtedy do każdej pod-procedury przekazujesz całą
> klasę i goocio.
Lubię to, co kompilator Javy robi lokalnie dla metody.
1. final. Można mieć zmienną "final" lokalną dla bloku
2. Zagnieżdżone bloki
3. Dla zmiennych lokalnych kompilator nie ustawia domyślnych
wartości. Robi za to prosty dataflow i jeżeli jakaś ścieżka
wykonania aż do użycia zmiennej nie zawiera przypisania
do zmiennej wartości, to w Javie jest to błąd czasu kompilacji.
Dla prostych przypadków to nic nie daje, ale to fajne zabezpieczenie.
W C++ robię mało błędów, ale niezainicjalizowana zmienna to jeden
z najczęściej występujących problemów. Oczywiście można
zawsze czymś inicjalizować, chociażby nullem, ale w tych
przypadkach null to tak jak niezainicjalizowana więc w Javie
można nie przypisywać od razu wartości i polegać na kompilatorze.
Stosując obiekt na dane lub wydzielając kod metody do klasy traci
się wszystkie te właściwości.
Edek
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-09-18 Warszawa => Senior Account Manager <=
- 2025-09-18 Warszawa => OSS System Administrator <=
- 2025-09-18 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-09-18 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-09-18 pierwszy tel kupiłem za 1250zł
- 2025-09-17 jak się kupuje elektryczny?
- 2025-09-17 Kod zniżkowy w TME do 26.09.2025
- 2025-09-17 Ukraińcy uważają polski sys. antydronowy za najlepszy na Świecie, a rząd w III Rzeczy (pospolitej) woli sys. niemiecki
- 2025-09-17 Ukraińcy uważają polski sys. antydronowy za najlepszy na Świecie, a rząd w III Rzeczy (pospolitej) woli sys. niemiecki
- 2025-09-17 Warszawa => Dyrektor pionu IT <=
- 2025-09-17 Rzeszów => International Freight Forwarder <=
- 2025-09-16 China => Production Coordinator / Representant Product Dev <=
- 2025-09-16 Warszawa => Project Manager (AI and innovation) <=
- 2025-09-15 "Jeden telefon z Waszyngtonu i nasze samoloty nie wystartują" - czyli to co każdy koder wie
- 2025-09-15 UE chce uruchomić SI "Chat Control" na kompach wszystkich euroPejczyków