![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 2 Dołączył: 28.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wątek być może banalny ale mam takie przemyślenie odnośnie tego wszystkie i jestem ciekawy jakie są Wasze doświadczenia, szczególnie osób z długim stażem używania FW. Ilekroć chce użyć czegoś gotowego i tak brakuje w tym jakiejś opcji, ostatecznie trzeba stosować jakieś ominięcia, napisać własną wersję lub stosować inne dzikie kombinacje. Oczywiście piszę o czymś większym niż strona wizytówka, o większych projektach, które mają być rozwijane przez lata.
Czy faktycznie po latach używania FW korzystacie z czegoś więcej niż podstawowe funkcjonalności jak zaprojektowany model MVC, CRUD itd.? Czy nie jest tak, że ostatecznie i tak napisaliście wszystkie gotowe moduły samemu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Tutaj w ogóle nie rozumiem o co Ci chodzi. Działam na 0/1 tylko, że używając pola typu CHAR(1), a nie TINYINT(1) Czasami zdarza się także sytuacja, że pole CHAR(1) jest flagą posiadającą inne znaczenia niż [0 - Wł/Tak, 1 - Wył/Nie] Przykładowo: styl formatowania ceny: 0 = 1000.00 1 = 1000,00 2 = 1 000,00 No tak... ale według Ciebie dać jakieś dane w bazie danych, opisywać innym w komentarzach co one robią i jeszcze zmuszać ich do wejścia do bazy danych, żeby to przeczytali? Prościej chyba dać 1/0. Po to jest możliwość komentowania kolumn w bazie danych, aby z tego móc korzystać. Nikt nie mówi o zmuszaniu ich do wchodzenia do bazy danych. Bazy danych są projektowane przykładowo w Workbenchu, więc wystarczy otworzyć diagram bazy lub mieć IDE zintegrowane z bazą. W czym się nie pokrywają? Pokrywają się doskonale. Argument 1. Zgadzam się jest to wada tego rozwiązania. Argument 2. Nie pokrywa się ponieważ chińczyk musiałby być mało rozgarnięty, aby pomimo komentarzy nie wiedzieć co oznacza dane pole (jego wartość) w bazie danych. Argument 3. Nie pokrywa się ponieważ używam [0, 1] i pasuje mi to że PHP rzuci mi FALSE w przypadku rzutowania 0 na BOOL, oraz TRUE w przypadku rzutowania 1 na BOOL. Z reguły i tak tego nie robię tylko sprawdzam (Wartość > 0) Ten post edytował mstraczkowski 19.02.2013, 16:48:19 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Działam na 0/1 tylko używając pola typu CHAR(1), a nie TINYINT(1) Czasami zdarza się także sytuacja, że pole CHAR(1) jest flagą posiadającą inne znaczenia niż [0 - Wł/Tak, 1 - Wył/Nie] Przykładowo: styl formatowania ceny: 0 = 1000.00 1 = 1000,00 2 = 1 000,00 A temat cały czas był o zagadnieniu boolean w bazie danych. Więc trochę tak temat o zupie, a Ty o dupie (IMG:style_emoticons/default/snitch.gif) Po to jest możliwość komentowania kolumn w bazie danych, aby z tego móc korzystać. Korzysta się z nich kiedy są potrzebne. Wszystkie funkcje w PHP też są po to, żeby z nich korzystać. I co? Do programu "Hello world" użyjesz ich wszystkich (IMG:style_emoticons/default/tongue.gif) ? Nikt nie mówi o zmuszaniu ich do wchodzenia do bazy danych. Bazy danych są projektowane przykładowo w Workbenchu, więc wystarczy otworzyć diagram bazy lub mieć IDE zintegrowane z bazą. No tak, ale to znowu wymuszanie, że ktoś coś musi mieć. Po to jest możliwość komentowania kolumn w bazie danych, aby z tego móc korzystać. Argument 2. Nie pokrywa się ponieważ chińczyk musiałby być mało rozgarnięty, aby pomimo komentarzy nie wiedzieć co oznacza dane pole (jego wartość) w bazie danych. Załóżmy, że dostałeś zlecenie za niezłą sumkę od kogoś z kraju z dziwnym językiem, gdzie np. "boobies" oznacza "prawda", a "jellyfish" oznacza "fałsz". I teraz jak zauważysz, że w bazie jest kolumna ENUM('B', 'J') domyślisz się, które to prawda, a które to fałsz? Czy jesteś nierozgarnięty? Argument 3. Pasuje mi to że PHP rzuci mi FALSE w przypadku rzutowania 0 na BOOL, oraz TRUE w przypadku rzutowania 1 na BOOL. Z reguły i tak tego nie robię tylko sprawdzam (Wartość > 0) A ktoś kto rzutuje przyjdzie, żeby coś zmodyfikować w skrypcie i już szykuje się debugowanie. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
A temat cały czas był o zagadnieniu boolean w bazie danych. Więc trochę tak temat o zupie, a Ty o dupie (IMG:style_emoticons/default/snitch.gif) Nie koniecznie, Moje pierwsze pytanie brzmiało: co sądzicie o CHAR(1) zamiast TINYINT(1) I do tego dążyłem, dodałem jednak zdanie o innych wartościach niż (0, 1), aby podeprzeć mój argument o komentarzach. Korzysta się z nich kiedy są potrzebne. Wszystkie funkcje w PHP też są po to, żeby z nich korzystać. I co? Do programu "Hello world" użyjesz ich wszystkich (IMG:style_emoticons/default/tongue.gif) ? Komentarze są zawsze przydatne, albo stawia się na konsekwentność w ich tworzeniu albo lepiej sobie w ogóle darować, jeżeli komentarze raz są a raz ich nie ma. A potem programista musi gdybać... "A może ktoś napisał komentarz co oznaczają te wartości ? ... Oj jednak nie" Coś co dla ciebie może być nie potrzebne (bo wiesz o tym na ten moment - kiedy projektujesz) dla kogoś innego kto dosiadł się do tego projektu może być konieczne, dla ciebie po pewnym czasie także (człowiek często zapomina o takich rzeczach) No tak, ale to znowu wymuszanie, że ktoś coś musi mieć. Jeżeli ktoś pracuje przy projekcie musi trzymać się ustalonych dla niego standardów Załóżmy, że dostałeś zlecenie za niezłą sumkę od kogoś z kraju z dziwnym językiem, gdzie np. "boobies" oznacza "prawda", a "jellyfish" oznacza "fałsz". I teraz jak zauważysz, że w bazie jest kolumna ENUM('B', 'J') domyślisz się, które to prawda, a które to fałsz? Czy jesteś nierozgarnięty? Jeżeli byłby komentarz dla tego pola w języku uniwersalnym np. Angielski to owszem domyślił bym się (Tak jak to tłumaczyłem, byłbym nierozgarnięty gdybym pomimo komentarzy nie wiedział dalej o co chodzi) A ktoś kto rzutuje przyjdzie, żeby coś zmodyfikować w skrypcie i już szykuje się debugowanie. To może sobie zrzucić, będzie miał ten sam efekt co zrzucenie wartości z TINYINT(1) I warunek (Wartosc > 0) także przejdzie:
Ten post edytował mstraczkowski 19.02.2013, 17:29:39 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 26 Dołączył: 13.09.2007 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Moje pierwsze pytanie brzmiało: co sądzicie o CHAR(1) zamiast TINYINT(1) Tu jest ciekawy (dla mnie) artykuł na ten temat. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 16:35 |