eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNie mieszczę się w tym garniturku część 2: Java i parametry in/out
Ilość wypowiedzi w tym wątku: 62

  • 51. Data: 2012-06-27 16:37:42
    Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out[off]
    Od: A.L. <l...@a...com>

    On Wed, 27 Jun 2012 04:58:34 -0700 (PDT), Maciej Sobczak
    <s...@g...com> wrote:

    >W dniu środa, 27 czerwca 2012 13:49:38 UTC+2 użytkownik AK napisał:
    >
    >> > Tematem było C++sowe func(Some& inOutParam, Some2& outParam), których
    >> > nie ma w Javie.
    >>
    >> Jak to nie ma w Javie ?
    >
    >W Javie wszystkie parametry przekazywane sa przez wartość. Nie ma czegoś takiego jak
    przekazywanie przez referencję ani też rozróżnialnych trybów in/out/inout.
    >

    Nie ma rozneiz prekazywania przez nazwe

    A.L.


  • 52. Data: 2012-06-27 18:16:21
    Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out[off]
    Od: Michoo <m...@v...pl>

    On 27.06.2012 16:29, Edek Pienkowski wrote:
    > To nie jest dużo kodu, ale jeszcze przydałoby się ref.get()++.
    W ogóle operatory by się przydały.

    --
    Pozdrawiam
    Michoo


  • 53. Data: 2012-06-27 19:20:37
    Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out
    Od: A.L. <l...@a...com>

    On Wed, 27 Jun 2012 09:21:21 +0000 (UTC), Edek Pienkowski
    <e...@g...com> wrote:

    >Dn
    >
    >Może z 5-10 lat temu to i owszem, pomijając ryzyko stania się
    >"opinionated". Nie muszę szlifować technikaliów.
    >
    >Edek

    Wydaje mi zie ze to i owo musisz szlifowac. Bo jak na moj rozum to
    masz male pojecie o rzoych rzeczach dosyc podstawowoych. Na przyklad
    "dlaczego moja metoda ma 30 zmiennych..."

    A.L.


  • 54. Data: 2012-06-27 19:22:23
    Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out
    Od: A.L. <l...@a...com>

    On Wed, 27 Jun 2012 11:19:09 +0000 (UTC), Edek Pienkowski
    <e...@g...com> wrote:

    >Dnia Wed, 27 Jun 2012 04:02:28 -0700, Andrzej Jarzabek napisal:
    >
    >> On Jun 27, 10:21 am, Edek Pienkowski <e...@g...com>
    >> wrote:
    >>> Dnia Wed, 27 Jun 2012 02:11:06 -0700, Andrzej Jarzabek napisal:
    >> [...]
    >>> > Miałbyś to robić bez psucia.
    >>>
    >>> Nie da się uprościć poniżej minimum bez psucia. Gdyby się dało,
    >> [...]
    >>> > duża", to jesteś daleko od tego minimum.
    >>>
    >>> Pożycz szklaną kulę...
    >>
    >> Miszczu - piszesz, że masz metodę, która jest "za duża" i że chcesz ją
    >> podzielić, a nawet używasz sformułowania "cokolwiek bym nie chciał
    >> wydzielić" - to sugeruje, że byś jednak coś z niej chciał wydzielić i
    >> nawet masz jakieś pomysły, co to by mogło być. Ja się nie odnoszę do
    >> tego, czy akurat masz w tym momencie rację, że jest za duża i czy masz
    >> rację, że chcesz podzielić - opieram się tylko na tym, co sam piszesz.
    >> Ja mogę tylko powiedzieć, że jeśli metoda ma faktycznie trzydzieści
    >> zmiennych lokalnych to jest bardzo wysoce prawdopodobne, że faktycznie
    >> jest za duża i że można ją podzielić. I w takiej sytuacji "replace
    >> method with method object" jest dobrym wstępem do dalszych
    >> refaktoryzacji.
    >
    >Tematem było C++sowe func(Some& inOutParam, Some2& outParam), których
    >nie ma w Javie.
    >
    >Obawiałem się, że na dużą metodę niektórzy zareagują jak psy Pawłowa.
    >Ten kod ogólnie nie wymaga grubszej refaktoryzacji, a dodatkowo w zasadzie
    >jedynymi sensownymi opcjami w przypadku tej metody jest klasa z kodem lub
    >klasa na dane, czy w zasadzie struktura. Ani jedno ani drugie nie poprawia
    >czytelności.
    >
    >>
    >>> > W ogóle w tym temacie powinieneś zapoznać się z książką Martina
    >>> > Fowlera "Refactoring: Improving the Design of Existing Code".
    >>>
    >>> Może z 5-10 lat temu to i owszem, pomijając ryzyko stania się
    >>> "opinionated". Nie muszę szlifować technikaliów.
    >>
    >> Sorki, ale jeśli uważasz, że nie da się zejść ze złożonością poniżej 30
    >> zmiennych lokalnych w metodzie, to myślę, że powinieneś jednak się
    >> zapoznać.
    >
    >A ja uważam, że jesteś właśnie "opinionated". Coś przeczytałeś, coś
    >powtarzasz, a niewiele z tego rozumiesz, co niestety widać.
    >
    >Edek


    He, he.... Wlasnie, niestey widac. Tylko gdzie indziej. Polecam
    Pismo Swiete, Kazanie na Gorze. Przypowiesc o belce w oku.

    A.L.


  • 55. Data: 2012-06-27 19:43:33
    Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out
    Od: Edek Pienkowski <e...@g...com>

    Dnia Wed, 27 Jun 2012 12:22:23 -0500, A.L. napisal:

    > He, he.... Wlasnie, niestey widac. Tylko gdzie indziej. Polecam Pismo
    > Swiete, Kazanie na Gorze. Przypowiesc o belce w oku.

    Nie twierdzę, że wiem wszystko. Znam Javę, ale jak widać nie wszystko
    o Javie wiem, chociaż to prosty język. Nie muszę, raz na kiedyś
    czegoś się naumiem i wystarczy.

    Co do rekurencji, wiem co to jest rekurencja i jak ją można traktować,
    jeżeli o to chodzi, to polecam przeczytanie części wątku ponownie.

    To o jaką belkę chodzi?

    Edek


  • 56. Data: 2012-06-27 19:58:57
    Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out
    Od: Edek Pienkowski <e...@g...com>

    Dnia Wed, 27 Jun 2012 12:20:37 -0500, A.L. napisal:

    > On Wed, 27 Jun 2012 09:21:21 +0000 (UTC), Edek Pienkowski
    > <e...@g...com> wrote:
    >
    >>Dn
    >>
    >>Może z 5-10 lat temu to i owszem, pomijając ryzyko stania się
    >>"opinionated". Nie muszę szlifować technikaliów.
    >
    > Wydaje mi zie ze to i owo musisz szlifowac. Bo jak na moj rozum to masz
    > male pojecie o rzoych rzeczach dosyc podstawowoych. Na przyklad
    > "dlaczego moja metoda ma 30 zmiennych..."

    No to już dzisiaj mam za sobą przejrzenie jej ponownie przy
    świeżym umyśle i po prostu jej logika jest skomplikowana. Ja
    wiem, że obsługa eventu "Zosiu, wprowadź do systemu chęć Pani
    do zakupu pietruszki" 30 zmiennych nie wymaga, ale czasami
    pisze się rzeczy bardziej złożone.

    Tak już zupełnie na marginesie, przerabiałem Javowe metody
    znacznie większe, jak widać nie wszyscy mają manię decydowania
    o podziale według sztywnych reguł. Bo to jest wyjątek od reguły.

    Edek


  • 57. Data: 2012-06-27 20:28:41
    Temat: Re: Nie mieszcz? si? w tym garniturku cz?œae 2: Java i parametry in/out
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2012-06-27, Edek Pienkowski <e...@g...com> wrote:
    > Dnia Wed, 27 Jun 2012 12:20:37 -0500, A.L. napisal:
    >
    >> On Wed, 27 Jun 2012 09:21:21 +0000 (UTC), Edek Pienkowski
    >> <e...@g...com> wrote:
    >>
    >>>Dn
    >>>
    >>>Może z 5-10 lat temu to i owszem, pomijając ryzyko stania się
    >>>"opinionated". Nie muszę szlifować technikaliów.
    >>
    >> Wydaje mi zie ze to i owo musisz szlifowac. Bo jak na moj rozum to masz
    >> male pojecie o rzoych rzeczach dosyc podstawowoych. Na przyklad
    >> "dlaczego moja metoda ma 30 zmiennych..."
    >
    > No to już dzisiaj mam za sobą przejrzenie jej ponownie przy
    > świeżym umyśle i po prostu jej logika jest skomplikowana. Ja
    > wiem, że obsługa eventu "Zosiu, wprowadź do systemu chęć Pani
    > do zakupu pietruszki" 30 zmiennych nie wymaga, ale czasami
    > pisze się rzeczy bardziej złożone.

    Te rzeczy bardziej złożone rozkłada się na drobniejsze, prostsze
    przypadki. Przynajmniej tak słyszałem, bo IANAP (w każdym razie
    oficjalnie).

    --
    Secunia non olet.
    Stanislaw Klekot


  • 58. Data: 2012-06-27 20:39:59
    Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out
    Od: Edek Pienkowski <e...@g...com>

    Dnia Wed, 27 Jun 2012 18:28:41 +0000, Stachu 'Dozzie' K. napisal:

    > On 2012-06-27, Edek Pienkowski <e...@g...com> wrote:
    >> Dnia Wed, 27 Jun 2012 12:20:37 -0500, A.L. napisal:
    >>
    >>> On Wed, 27 Jun 2012 09:21:21 +0000 (UTC), Edek Pienkowski
    >>> <e...@g...com> wrote:
    >>>
    >>>>Dn
    >>>>
    >>>>Może z 5-10 lat temu to i owszem, pomijając ryzyko stania się
    >>>>"opinionated". Nie muszę szlifować technikaliów.
    >>>
    >>> Wydaje mi zie ze to i owo musisz szlifowac. Bo jak na moj rozum to
    >>> masz male pojecie o rzoych rzeczach dosyc podstawowoych. Na przyklad
    >>> "dlaczego moja metoda ma 30 zmiennych..."
    >>
    >> No to już dzisiaj mam za sobą przejrzenie jej ponownie przy świeżym
    >> umyśle i po prostu jej logika jest skomplikowana. Ja wiem, że obsługa
    >> eventu "Zosiu, wprowadź do systemu chęć Pani do zakupu pietruszki" 30
    >> zmiennych nie wymaga, ale czasami pisze się rzeczy bardziej złożone.
    >
    > Te rzeczy bardziej złożone rozkłada się na drobniejsze, prostsze
    > przypadki. Przynajmniej tak słyszałem, bo IANAP (w każdym razie
    > oficjalnie).

    No tak, dlaczego ja na to nie wpadłem, dzięki.

    Edek


  • 59. Data: 2012-06-27 20:52:09
    Temat: Re: Nie mieszcz? si? w tym garniturku cz?œae 2: Java i parametry in/out
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2012-06-27, Edek Pienkowski <e...@g...com> wrote:
    >>> No to już dzisiaj mam za sobą przejrzenie jej ponownie przy świeżym
    >>> umyśle i po prostu jej logika jest skomplikowana. Ja wiem, że obsługa
    >>> eventu "Zosiu, wprowadź do systemu chęć Pani do zakupu pietruszki" 30
    >>> zmiennych nie wymaga, ale czasami pisze się rzeczy bardziej złożone.
    >>
    >> Te rzeczy bardziej złożone rozkłada się na drobniejsze, prostsze
    >> przypadki. Przynajmniej tak słyszałem, bo IANAP (w każdym razie
    >> oficjalnie).
    >
    > No tak, dlaczego ja na to nie wpadłem, dzięki.

    Spójrz na to z naszej perspektywy. Przychodzisz na grupę i mówisz, że
    masz metody z 30+ parametrami długie na kilkaset linii. Twierdzisz, że
    nie da się tego uprościć, ale w żaden sposób nie uzasadniasz tej tezy.
    Reszta grupy z doświadczenia wie, że właściwie wszystkiemu się daje
    uprościć interfejs, więc bez dowodu, przy samym żonglowaniu ogólnikami,
    nikt ci nie uwierzy.

    --
    Secunia non olet.
    Stanislaw Klekot


  • 60. Data: 2012-06-27 21:51:31
    Temat: Re: Nie mieszczę się w tym garniturku część 2: Java i parametry in/out
    Od: Edek Pienkowski <e...@g...com>

    Dnia Wed, 27 Jun 2012 18:52:09 +0000, Stachu 'Dozzie' K. napisal:

    > On 2012-06-27, Edek Pienkowski <e...@g...com> wrote:
    >>>> No to już dzisiaj mam za sobą przejrzenie jej ponownie przy świeżym
    >>>> umyśle i po prostu jej logika jest skomplikowana. Ja wiem, że obsługa
    >>>> eventu "Zosiu, wprowadź do systemu chęć Pani do zakupu pietruszki" 30
    >>>> zmiennych nie wymaga, ale czasami pisze się rzeczy bardziej złożone.
    >>>
    >>> Te rzeczy bardziej złożone rozkłada się na drobniejsze, prostsze
    >>> przypadki. Przynajmniej tak słyszałem, bo IANAP (w każdym razie
    >>> oficjalnie).
    >>
    >> No tak, dlaczego ja na to nie wpadłem, dzięki.
    >
    > Spójrz na to z naszej perspektywy. Przychodzisz na grupę i mówisz, że
    > masz metody z 30+ parametrami długie na kilkaset linii. Twierdzisz, że
    > nie da się tego uprościć, ale w żaden sposób nie uzasadniasz tej tezy.
    > Reszta grupy z doświadczenia wie, że właściwie wszystkiemu się daje
    > uprościć interfejs, więc bez dowodu, przy samym żonglowaniu ogólnikami,
    > nikt ci nie uwierzy.

    Czyli wszyscy wiedzą, że da się pisać krótkie metody. Very well, my
    friend, ja też to wiem. Nie mogę przedstawić kodu, sorry, praca, nie
    za takie rzeczy potrafią człowieka zjeść. No więc abstrakcyjnie:

    ----------------------------------------------------
    -------------
    Mam zakres 0..x, naturalne liczby, x jest gdzieś pomiędzy kilkaset
    tysięcy i sky is the limit, ale powiedzmy kilkadziesiąt milionów.

    Dzielę ten zakres na mniejsze, tak, aby w drzewie każdy rodzic
    zawierał gałązki i gałązki się nie pokrywają. Każda gałąź
    to zakres [a,b). Gałąź bez rozgałęzień możemy nazwać liściem,
    mi to nie przeszkadza, ale ogólnie wszystkie gałęzie mają
    istotne parametry, nie tylko liście.

    Drzewo ma dowolny kształt.

    Mam na tym zakresie 0..x znaczniki o określonej pozycji, lub określonych
    pozycjach, jest ich z 10 typów. Niektóre wprost decydują, gdzie
    zakresy mogą się zaczynać i kończyć, bardzo liczebne, są w
    miejscach gdzie mogą być granice. Mógłbym zredukować zakres 0..x
    do samych znaczników eliminując przestrzeń pomiędzy, ale chwilowo
    nie widzę powodu, wystarczy je posortować i opcjonalnie
    powiązać inne znczniki do zakresów pomiędzy tymi, które wyznaczają
    możliwy podział.

    Część znaczników, jak się tworzy drzewo, ma kilka powiązanych pozycji i
    przez to należy do więcej niż jednej gałęzi, szczegóły pominę.

    Niektóre typy znaczników dodają ograniczenia, ich 4 pozycje muszą się
    zmieścić w jednej gałęzi. Jest ich b. mało, ale komplikują
    metodę, bo to twarde ograniczenie.

    Inne typy mogą należeć do więcej niż jednej gałęzi (w sensie
    node), ale to jest koszt. W pierwszym przybliżeniu koszt to
    a * b, gdzie a i b to koszt dzielonych znaczników dwóch typów,
    przy czym w dość nieokreślony sposób koszt jest tym większy,
    im dalej w dół drzewa. Tych znaczników jest b.duzo,
    w zakresie 0..99 byłoby ich po kilkanaście tak średnio,
    dośc nieprzewidywalnie rozrzuconych, ale ogólnie z tendencją
    do lokalności w większości przypadków.

    Każda gałąź ma z grubsza dodatkowy stały koszt i maksymalny rozmiar,
    więc nie mogą być za duże, ale lepiej żeby nie były za małe
    ze względu na stały koszt. Gałęzi ma być docelowo sądząc
    po rozmiarze od dwóch sztuk do kilku tysięcy, co oczywiście
    zależy od x.

    Oczywiście mam wszystkie dane, takie jak
    ile znaczników jest dzielonych pomiędzy node'ami, ile
    pomiędzy node'em i rekursywnie dziećmi itd., to wszystko
    jest w metodach z jakimś podziałem na klasy, nieistotnym
    w tym momencie, ale każda taka operacja ma swoją złożoność.
    Mam też w każdym punkcie stos niektórych znaczników,
    można go używać jako podpowiedź, ile co może kosztować,
    ale można go pominąć. Te znaczniki w stosie mają zakres.
    Ogólnie jest sporo chodzenia w górę i w dół pomiędzy
    gałęziami, ale to jest detal implementacji.

    Chcę znaleźć nie tyle minimum, co rozsądnie mało kosztujący
    podział drzewa, przy czym czas analizy też kosztuje tak jak
    i rezultat, którym jest dość duży generowany na tej podstawie kod;
    oczywiście samo generowanie kodu jest nietrywialne, ale
    już sobie jest. A, dzielenie drzewa na gałązki ma ogólnie
    dwa rodzaje, dwa rodzaje znaczników określają możliwy
    dla ich typu rodzaj podziału na dwa rodzaje generowanego
    kodu.

    -------------------------------------------------

    Jeżeli to podchodzi pod jakiś znany problem ze znanym
    na wikipedii lub gdzieś ogólnym rozwiązaniem, to chętnie
    przeczytam. Oczywiście, musi mieć poniżej 30 zmiennych na
    metodę, ja na razie mam jedną tak rozbudowaną.

    Troszkę się chyba rozpędziłem, ale to powinno działać.
    Mam też wrażenie, że z jednej strony to już jest dość
    nietrywialne, a z drugiej może o czymś zapomniałem,
    co mogłoby uprościć sprawę, ale w tej chwili nie wiem
    co to może być. Może w ogóle warto całość zrobić inaczej
    zupełnie, czekam na przebłysk geniuszu, i chyba mogę sobie
    czekać.

    Edek
    PS. Dopóki tego nie spisałem wyglądało jeszcze normalnie
    i do ogarnięcia, ale opis wygląda nieciekawie.
    PS2. To teraz może się nie będę na grupie pokazywał
    przez tydzień, będę zajęty rzecz jasna ;)
    PS3. Nie zamierzam rozwiązywać tego problemu,
    coś co jest "wystarczająco dobre" mi wystarczy.

strony : 1 ... 5 . [ 6 ] . 7


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: