Wypowiedzi
-
Że tak powiem delikatnie... Zadanie może i ciekawe ale oczekiwanie konkretnego rozwiązania już jest bezdennie głupie. Nie liczy się efekt i różnorodność rozwiązań?
Inny cudaczny acz prosty sposób:
function foo($array) {
return in_array('', $array, true) && count(array_flip($array)) == 1;
}
Edit: A to ja coś wrzucę. Tyle że na GL zaglądam raczej rzadko i nie będę raczej w stanie potwierdzić prawidłowej odpowiedzi więc możecie potraktować to jako ciekawostkę:
$var = "a";
switch($var) {
case 0:
echo "0";
break;
case 1:
echo "1";
break;
case "a":
echo "a";
break;
}
A pytanie to: co i dlaczego?Sławomir Uchto edytował(a) ten post dnia 09.12.10 o godzinie 18:54 -
Michał Wachowski:
Gdzie frajda w otwieraniu drzwi? Odźwierny z pasją? :D
Im trudniej, tym większa satysfakcja.
Gdzie frajda w otwieraniu otwartych drzwi? :)
(Żart, nie mogłem się powstrzymać :D) -
Chciałem tylko dodać, że refaktoryzacja nie ma i nie powinna służyć redukcji ilości komentarzy w kodzie. To jest jakby naturalne następstwo, ale mimo oczywistego nazewnictwa metod - komentarz inline chociażby samym kolorowaniem składni (a kto z tego obecnie nie korzysta?) odcina się od reszty i zwraca uwagę na istotny element kodu. Szukanie oszczędności pod tym kątem uważam za (z całym należnym każdemu szacunkiem) głupotę. :)
Solidny komentarz jest zawsze mile widziany. :)Sławomir Uchto edytował(a) ten post dnia 01.12.09 o godzinie 20:33 -
Filip Górny:
Ten tekst mnie lekko rozbawił. :) Głowę daję (nawet nie swoją), że osoba z dwuletnim zawodowym doświadczeniem programisty PHP (nawet mimo statusu osoby uczącej się), nie będzie miała w tej dyskusji przypiętej plakietki "student". Raczej nie o takich studentach była tutaj mowa ;).
Studenci sami w sobie powinni zdać sobie sprawę że programista php, jeśli ma co najmniej dwa lata doświadczenia, może bez problemu żądać 2000 zł, w przeciwnym wypadku sam sobą gardzi! -
Gra w szachy, rozwiązywanie krzyżówek, sudoku, oglądanie 20 gości biegających za piłką, teatr, czytanie książek i robienie wielu innych rzeczy również "jest nudne"...Sławomir Uchto edytował(a) ten post dnia 01.12.09 o godzinie 07:01
-
Kamil Brenk:
Dam Ci trywialny przykład funkcji oczywistego przeznaczenia wraz z wyjątkowo opisowym nazewnictwem:
Jeśli metody mają jakieś szczególne przeznaczenie lub przyjmują nietypowe argumenty to wypadałoby to opisać w komentarzach.
getCommentById($commentId) {
...
}
Czy daną funkcję wypadałoby poprzedzić komentarzem? Oczywiście, że tak. Mimo oczywistego przeznaczenia, dane nazewnictwo nie daje najmniejszej informacji na temat rzeczy bardzo istotnej: co zwraca funkcja? Komentarz? Prawdopodobnie - ale czy to jest string (treść), tablica (poszczególne pola), obiekt (klasa Rowset?) - nic. Refaktoryzacja zawsze powinna iść w parze z odpowiednim komentarzem. Jeśli wymienieni autorzy książki twierdzą inaczej... to o godzinę ich również nie zapytam ;). -
Kamil Brenk:
I mówisz, że tam demonizują stosowanie komentarzy jako rzecz zbędną, zostawiając sprawę nazewnictwu poszczególnych metod? Nie sądzę.
http://godi.pl/ksiazka/refaktoryzacja-ulepszanie-struk...
Polecam.
Kamil Brenk:
Nie no masz rację - mam zbyt polskie imię i nazwisko by z nimi konkurować. Znam kilku autorów książek tyczących się tematyki programowania (niestety/na szczęście nie osobiście) - i nie zaufałbym im nawet pytając na przystanku o godzinę. Kiepski wyznacznik.
Btw. rozumiem, że Fowler Martin, Beck Kent, Brant John, Opdyke William, Roberts Don to ludzie, z którymi również nie chciałbyś współpracować? A fakt, jesteś na to za dobry ;)
PS. Autentycznie, na uczelni prof.dr.hab X Y twierdził, że if to pętla, a nazewnictwo cout i cin wzięło się z tego, że pochodzą z jezyka C. Jakie mam prawo twierdzić, że jest inaczej...? Też jestem "za dobry"?Sławomir Uchto edytował(a) ten post dnia 30.11.09 o godzinie 19:43 -
Kamil Brenk:
Nie do końca się zgodzę. Metody/Funkcje czasem prócz nazw posiadają również parametry, a jeszcze "częściej" zwracają jakąś wartość. ;) Czasy procedur Pascala już dawno (mam nadzieję) przeminęły...Sławomir Uchto edytował(a) ten post dnia 30.11.09 o godzinie 19:10
Przemysław R.:
Od tego funkcje czy metody mają nazwy :)
nie piszemy nawet co dana funkcja robi? niezły hardcore -
Przemysław R.:
Oj... Albo jesteś ewenementem wśród programistów: urodziłeś się z wiedzą popartą doświadczeniem, albo ideologiczne myślenie wzięło górę nad logiką ;). Obstawiam to drugie, bo każdy od czegoś zaczynał i w swoim życiu stworzył nie jednego potwora - umywanie rąk od tego nie przejdzie :)
Sławomir Uchto:
bo kiepsko się poprawia burdel :)
Cytat ma szersze znaczenie - po co poprawiać burdel który działa doskonale i spełnia swoje przeznaczenie? :P Sztuka dla sztuki ma swoje granice ;). Owszem, pojęcia takie jak "rozwój oprogramowania" etc. kiepsko się do tego mają, ale kto z nas nigdy nie utworzył własnego potwora? :D
Tyle że robienie potwora to jakaś mega patologia i objaw lenistwa autora, bo mu się nie chce przyłożyć do pracy, bo w domu to może sobie robić co mu się żywnie podoba.
A jak dochodzi do tego sytuacja że aplikacja jest wykorzystywana biznesowo i biznes się zmieni, to robi się dramat. Poprawienie aplikacji napisanej niechlujnie jest trudne, jak nie niemożliwe, więc takie myślenie jakie prezentujesz ma krótkie nogi. -
Przemysław R.:
Cytat ma szersze znaczenie - po co poprawiać burdel który działa doskonale i spełnia swoje przeznaczenie? :P Sztuka dla sztuki ma swoje granice ;). Owszem, pojęcia takie jak "rozwój oprogramowania" etc. kiepsko się do tego mają, ale kto z nas nigdy nie utworzył własnego potwora? :D
Sławomir Uchto:
Ale jak powtarza w kółko do obrzydzenia wielu mądrych ludzi: program ma działać, nie wyglądać ;).
tak się rodzą potwory
bo kiepsko się poprawia burdel :) -
Nawet brwi i wąsy nie pomogą, bo sprawdzają DNA kiedy np. wyrzucisz chusteczkę do kosza. Nie do obejścia :D
Włącz TVN! Właśnie leci program: "W co byłeś ubrany wczoraj - wszscy to wiedzą, ale czy Ty pamiętasz?!" :P -
Haha! Wspaniały komiks. :)
Dziś, patrząc na własny kod sprzed kilku lat nasuwa mi się na myśl jedno pytanie, na które zdecydowanie nie znam odpowiedzi: "Jakim cudem, to w ogóle działa?!". Komentarze w kodzie, nawet najlepsze, nie usprawiedliwią kiepskiego kodu który się kiedyś tworzyło. Można tylko (z perspektywy doświadczenia) narcystycznie się chwalić, że było się na tyle sprytnym by tworzyć coś takiego, i to działającego :)
Ale jak powtarza w kółko do obrzydzenia wielu mądrych ludzi: program ma działać, nie wyglądać ;).