[skrypt] "framework" OpenWikiBlog, Wolne oprogramowanie |
[skrypt] "framework" OpenWikiBlog, Wolne oprogramowanie |
1.09.2010, 19:48:59
Post
#21
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) |
@mike: wcale tak nie jest. Niektórzy przyjmują, że komentarzy powinno być tyle, że po usunięciu kodu i zostawieniu samych komentarzy dało się aplikację napisać od nowa. To o czym mówisz to jedynie jedna z konwencji. Moim zdaniem zawsze się wybiera między:
1. mało komentarzy => kod czytelniejszy ale mniej optymalny 2. dużo komentarzy => kod mniej czytelny ale szybszy Pomijam fakt, że w tym projekcie część komentarzy jest totalnie kretyńska: zobaczcie np. core/database.php
EDIT: dzięki za link ale ubogi ten phpDoc. Ten post edytował SHiP 1.09.2010, 19:52:53 -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
1.09.2010, 19:53:14
Post
#22
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat Nie muszę podawać argumentów, masz kod. No właśnie kod mnie nie zachęcił, ale może Twój fw ma jakieś szczególne funkcje, których nie widać na pierwszy rzut oka. Mówisz teraz tak, jak prelegenci z Microsoftu na phpConie. Pytam: dlaczego wg Pana Expression Web jest lepszy od konkurencji? A on: wcale nie twierdzę, że jest lepszy.. Sory, ale skoro nie jesteś pewien, jako autor, że Twój fw ma jakieś atuty, to raczej wątpliwe, aby wyszedł on z garażu. Może to brutalne, co powiedziałem, ale konkurencja jest i skoro nie możesz wypunktować jego mocnych stron - lepiej poświęcić czas na poznawanie innych, rozplanowanych. Sam od kilku lat rozwijam swojego fw i pomimo setek linii kodu, schematów powiązań między poszczególnymi elementami, nadal nie uważam, że nadaje się jeszcze do publicznych tekstów, znam jego słabe strony, ale jest też kilka mocnych, których inne nie mają. W przypadku Twojego, niestety, kod nie jest mocną stroną i bez dokumentacji nie da się czegoś wygodnie pisać. Zaskocz mnie, pokaż że warto się nim zainteresować. Marketing też jest istotny; nie sprzedasz nowej wiertarki z potrójnym udarem, jeśli na półce nie będzie się wyróżniała spośród reszty. Pamiętaj, że Twoja marka nie ma jeszcze wyrobionej opinii, więc musisz jakoś ZACHĘCIĆ odbiorców. -------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
1.09.2010, 20:15:23
Post
#23
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) |
Małe info - poszczególne fragmenty mogą być adresowane do różnych rozmówców.
Ad. referencji -> po pierwsze, używanie referencji do "oszczędzania pamięci" i "zwiększenia wydajności" to jedno wielkie nieporozumienie z takiego prostego powodu, że PHP posiada wbudowany mechanizm leniwego kopiowania, tj. właściwa kopia robiona jest dopiero wtedy, gdy dane mają ulec modyfikacji. Gdy dane są pobierane "tylko do odczytu", odczytywana jest dokładnie ta sama wartość, a ponieważ PHP nie musi tworzyć dodatkowych struktur danych na utrzymywanie referencji, takie coś jest nie tylko szybsze, ale paradoksalnie oszczędniejsze pamięciowo. Ponadto nie realizujesz nawet tego, co piszesz, bo w wielu miejscach owszem, argumenty przekazujesz przez referencję, ale później już robisz zwykłe przypisanie. Ad. systemu szablonów -> widzisz, gdybyś używał standardowego nazewnictwa, nie musiałbyś nic dostosowywać z nową wersją, chyba że pomiędzy wydaniami ze zmienionym pierwszym numerkiem. Korzystam z wielu różnych bibliotek, które właśnie dzięki temu, że zachowują pewne wspólne konwencje, mogą być bez problemu używane razem i aktualizacja sprowadza się w zasadzie do wgrania nowych plików. Natomiast czym jest standardowe nazewnictwo -> - http://www.zyxist.com/pokaz.php/standaryzacja_php - http://groups.google.com/group/php-standar...-proposal?pli=1 Ad. klasy tłumaczeń -> a co ma format PO czy "XML" (w cudzysłowiu, bo nie ma czegoś takiego, jak "format XML". XML to meta-język, w którym dopiero można jakiś język opisać) do MessageFormattera, kiedy jedno i drugie zajmuje się zupełnie innymi rzeczami? - PO - składowanie i zarządzanie tekstami do tłumaczenia - MessageFormatter - formatowanie konkretnej wiadomości Jedno drugiego nie wyklucza - możesz mieć teksty w formacie MessageFormattera, który jest dużo dokładniejszy, niż printf() (zwłaszcza w takich rzeczach, jak np. obsługa liczby mnogiej), zapisane w pliku PO. W ogóle poczytaj sobie nieco o tej klasie, a zwłaszcza na jakiej bibliotece bazuje to rozszerzenie (i ilu producentów i aplikacji z niej korzysta), bo Twoje słowa zupełnie nie pokrywają się z rzeczywistością. Ad. różnych "opcjonalnych dodatków" - moim zdaniem warto zastanowić się czy niektóre z takich dodatków faktycznie są potrzebne. Już kilkakrotnie przekonałem się, że czasem lepiej jest powiedzieć "ma być tak i koniec", ponieważ w przeciwnym wypadku będziesz miał na każdym kroku mnóstwo dylematów "OK, jak ten moduł jest wyłączony, to mogę to zrobić prosto, ale ponieważ gość może go sobie włączyć, wtedy muszę to przewidzieć i dopisać tu jeszcze 154 ify, by obsłużyć wszystkie możliwe kombinacje". Ad. PHP 5.3 -> zanim webnull skończy ten "framework", jeszcze wody w Wiśle upłynie. Dziwne, że jakoś nikt nie ma oporów przed polecaniem przestrzeni nazw, tak jak inni nie mają oporów przed ich stosowaniem, a tu się czepiacie o jedną głupią klasę. A potem się będzie biadolenie na blogach, że "PHP 5.3 jest już tyle czasu, a wciąż kupa skryptów nie korzysta z jego dobrodziejstw", tak jak to z PHP 4 było. Zresztą, po co mają to wprowadzać na hostingach, skoro programiści nie znają nawet podstawowych informacji o tym, co w tej wersji wprowadzono i mają podejście, że "po co mają się uczyć, skoro hostingowcy tego nie wprowadzają"? To się nazywa samospełniającą się przepowiednią i ja osobiście nie mam zamiaru w niej brać udziału. Jak ktoś chce być zacofańcem, a potem na to samo zacofanie narzekać, to było mi miło, ja się mu kłaniać nie zamierzam. -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
1.09.2010, 20:19:45
Post
#24
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) |
~SHiP wybacz ale nazwiska sygnatariuszy manifestu Software Craftsmanship przekonują mnie bardziej.
Po lekturze Clean Code: A Handbook of Agile Software Craftsmanship faktycznie zacząłem pomijać komentarze na rzecz samo dokumentującego się, czytelnego kodu. I uwierz mi, to nie chodzi o żadną optymalność czy szybkość kodu. Chodzi o jego czytelność i łatwość przyswajania przez czytelnika. Jednoznacznie brak komentarzy idzie na plus. P.S. Mój ulubiony komentarz to: O RLY? |
|
|
1.09.2010, 20:48:05
Post
#25
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) |
Cytat(SHiP) Pomijam fakt, że w tym projekcie część komentarzy jest totalnie kretyńska: zobaczcie np. core/database.php To jest prawda, jednak te komentarze nie były na darmo. Te komentarze ułatwiły Mi pisanie kodu tych funkcji, bez nich bym się pogubił więc raczej te komentarze są po prostu dla Mnie i mogę je usunąć ponieważ funkcje skończone.. -- WebNuLL -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian |
|
|
1.09.2010, 22:21:14
Post
#26
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) |
@mike: zgadzam się i sądzę, że ilość komentarzy należy zmniejszać do minimum. Czasem jednak skomplikowanie algorytmu/wyrazenia regularnego etc. jest tak duże, że trzeba to opisać w kilku słowach . Po prostu są ludzie, którzy twierdzą inaczej.
@zyx: Czepiasz się szczegółów. Chodziło po prostu o trzymanie tłumaczeń w pliku PO lub w pliku xml(i tutaj np xliff). Wybacz ale Twój wcześniejszy post można było odebrać jakby php 5.3 miało wbudowany system tłumaczący. W dalszym ciągu jednak proszę o przykład, ponieważ klasa zastosowana przez Babcia@Stefa nie jest tragiczna, a obsługę MessageFormattera może w każdej chwili dodać(np gdy 5.3 będzie bardziej popularne). -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
2.09.2010, 17:56:11
Post
#27
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) |
@mike: zgadzam się i sądzę, że ilość komentarzy należy zmniejszać do minimum. Czasem jednak skomplikowanie algorytmu/wyrazenia regularnego etc. jest tak duże, że trzeba to opisać w kilku słowach . Po prostu są ludzie, którzy twierdzą inaczej. @zyx: Czepiasz się szczegółów. Chodziło po prostu o trzymanie tłumaczeń w pliku PO lub w pliku xml(i tutaj np xliff). Wybacz ale Twój wcześniejszy post można było odebrać jakby php 5.3 miało wbudowany system tłumaczący. W dalszym ciągu jednak proszę o przykład, ponieważ klasa zastosowana przez Babcia@Stefa nie jest tragiczna, a obsługę MessageFormattera może w każdej chwili dodać(np gdy 5.3 będzie bardziej popularne). Jest coś takiego jak sprawdzanie wersji PHP przez skrypt (co może być jednak wyłączone na niektórych serwerach dlatego odpada), ale jest także class_exists które może sprawdzić czy klasa MessageFormattera istnieje - jeżeli tak to załadować i przygotować do używania a jeżeli nie to usuwać syntax MessageFormattera ( "{" i "}" ) wyrażeniami regularnymi. -- WebNuLL Ten post edytował Babcia@Stefa 2.09.2010, 17:56:52 -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian |
|
|
2.09.2010, 20:01:08
Post
#28
|
|
Grupa: Moderatorzy Postów: 36 469 Pomógł: 6300 Dołączył: 27.12.2004 |
a ja sie poczepiam trochę bazki
1) int(1), int(2) - te cyferki w nawiasach niczemu nie sluzą (sluża jedynie dla zerofill ktorego nie uzywasz) a juz na pewno nie określają rozmiaru przechowywanych liczb 2) `disabled` int(1) NOT NULL COMMENT 'Is admin account enabled?', - wartosc 0 lub 1 przechowujesz w typie INT ktory zajmuje 4 bajty. Tu nalezy dac pole TINYINT ktore zajmuje 1 bajt 3) `passwd` varchar(180) NOT NULL, po insercie widzialem ze haslo to hash. Czemu wiec mowisz ze moze miec 180 znaków? 4) `restrictip` varchar(200) NOT NULL COMMENT 'Here is a place for PHP serialized array with ip numbers', to powinna byc dodatkowa tabela 5) `unblock_time` int(20) NOT NULL COMMENT 'When the account will become avaible? - Unix timestamp format only', o typach czasowych slyszal? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.09.2010, 20:34:07
Post
#29
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat 4) `restrictip` varchar(200) NOT NULL COMMENT 'Here is a place for PHP serialized array with ip numbers', to powinna byc dodatkowa tabela Już pomijam fakt, że adres IP można zapisać via ip2long w INT. A o różnicach w wydajności chyba wspominać nie muszę? -------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
2.09.2010, 21:14:38
Post
#30
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) |
Już pomijam fakt, że adres IP można zapisać via ip2long w INT. A o różnicach w wydajności chyba wspominać nie muszę? Nie chciałem za bardzo nie potrzebnie rozbudowywać bazy danych, ale skoro mówicie, że wypadałoby to tak uczynię - jednak zrobię to w Sobotę/Niedzielę bo wtedy znajdę czas. Dziękuję. Cytat(nospor) o typach czasowych slyszal? Zrobiłem to po prostu starym sposobem, dzięki za uwagę. Cytat(nospor) wartosc 0 lub 1 przechowujesz w typie INT ktory zajmuje 4 bajty. Tu nalezy dac pole TINYINT ktore zajmuje 1 bajt Oh, faktycznie tutaj zrobiłem błąd, poprawię go w najbliższym commicie ( sobota/niedziela ). Cytat(nospor) po insercie widzialem ze haslo to hash. Czemu wiec mowisz ze moze miec 180 znaków? Baza danych narazie taka testowa jest, a ile hash ma znaków tego nie liczyłem narazie więc nie wiem ile mogę tam wstawić. -- WebNuLL Ten post edytował Babcia@Stefa 2.09.2010, 21:18:59 -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian |
|
|
2.09.2010, 21:59:35
Post
#31
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat a ile hash ma znaków tego nie liczyłem narazie więc nie wiem ile mogę tam wstawić. Bez urazy, ale bez wiedzy o czymś takim piszesz fw...? -------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
3.09.2010, 10:26:00
Post
#32
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) |
|
|
|
Wersja Lo-Fi | Aktualny czas: 29.05.2024 - 23:25 |