Czy powinienem ściśle przestrzegać każdego standardu HTML i CSS?

11

Kilka lat temu uważałem się za programistę stron internetowych, znając podstawowe 3 języki (HTML, CSS, JS) i dużo PHP. Przejście od zwykłego tekstu do rzeczywistych stron internetowych było uciążliwe z powodu tak zwanych „standardów”, które w tamtym czasie były dla mnie absurdalnie skomplikowane. Sprowadzało się to do tego (bez rzeczy związanych z IE):

Tworzenie stron internetowych na wykresie kołowym

Istnieją standardy, które mają zastąpić stare sposoby robienia rzeczy w prostszy sposób. Jednak kiedy próbowałem faktycznie zaimplementować niektóre rzeczy (na przykład układ oparty całkowicie na CSS), zajęło mi to 10x dłużej, niż gdybym zrobił to prostsze i wciąż działające rozwiązanie. Jeśli zrenderował to samo, to dlaczego miałbym korzystać z bardziej skomplikowanego przykładu, który trwa 10 razy dłużej i ulega awarii po zmianie przeglądarki? Wywołało to wiele długich debat religijnych w ## php, ## css i ## js w Freenode IRC i faktycznie zakazano mi ## css, ponieważ pomieszałem z ich małym światem tam.

Moje pytanie: czy powinienem stosować się do każdej standardowej konwencji i kodowania, nawet jeśli zabierają mi to 10 razy dłużej, ale dają taki sam wynik jak ten prosty?


Dla tagu Poll, ci z was, którzy mają strony internetowe o dowolnej wielkości (ogromne i małych), zrobić Ci śledzić wszystkie standardy?

TheLQ
źródło
Mam tę tabelę jest jednak anty-IE ...
Ullallulloo
Standardy i konwencje są zupełnie inne. Powiedziałbym, że postępuj zgodnie ze standardami (specyfikacje W3C, prawidłowy kod), bo jeśli się nie zrobisz, wszystko się popsuje. Ale projektowanie bez tablic jest wytyczną, preferencją, najlepszą praktyką, ale samo w sobie nie jest standardem.
Inca
opracowałem algorytm zwiększający produktywność o 47% +/- 5%. Zacznij od programowania w IE, a nie będziesz musiał się martwić o FF, Chrome, safari itp. :). wszystkie inne przeglądarki po prostu działają
Ibu
korzystasz z CSS, ponieważ po utworzeniu 50. tabeli i gdy ktoś przyjdzie i poprosi cię o zmianę ich wszystkich, aby były inne i nadal konsekwentnie stylizowane, nie będziesz w szczęśliwym miejscu. Byłem tam, zrobiłem to (ale to nie ja stworzyłem początkowy bałagan)
Kevin Cline

Odpowiedzi:

12

Najpierw produkt, a następnie polski.

Spraw, by Twoja witryna / aplikacja / gra robiła to, co powinna. Uruchom go i zainteresuj ludzi.

Potem, kiedy będziesz miał czas, wróć i wypoleruj go. Ale tylko dlatego , że cię to obchodzi, a nie dlatego, że robi to ktoś inny.

Oczywiście, jeśli problemy z niezgodnością oznaczają, że ludzie nie mogą go wyświetlić, lub jest to niewiarygodnie brzydkie, lub ładowanie trwa miesiąc, lub jest trudne do utrzymania lub powoduje awarię przeglądarki, jest to poważny problem. Ale nadal byłby to poważny problem, nawet jeśli byłbyś zgodny ze standardami.

Zwykli użytkownicy nie patrzą na źródło witryny, która się nie ładuje, i mówią: „Cóż, nie wyświetla zdjęć, ale jest całkowicie zgodny z W3C”. Po prostu przeglądają inną stronę internetową i nigdy nie wracają.

Podsumowując, istnieją standardy ułatwiające pisanie przeglądarek i zamykające potencjalne luki w zabezpieczeniach. Amazon, Penny-Arcade i Stack Overflow nie zarabiają na prowadzeniu standardowej strony internetowej. I chyba, że ​​bierzesz udział w konkursie pisania stron internetowych, ty też nie.

deworde
źródło
12

Autorzy standardów pomyśleli o rzeczach, które nie przyszły Ci do głowy, takich jak problemy z dostępnością. Normy istnieją z jakiegoś powodu. A dzięki HTML5 standardy są dość łatwe do przestrzegania.

Czasami może być powód, aby nie stosować się do standardu, ale przestrzeganie go powinno być twoim domyślnym zachowaniem.

Wymuskany
źródło
1
Brzmi dość uczciwie. Staram się przestrzegać ogólnych standardów, ale nie każdego z nich
TheLQ
7

Lenistwo nie usprawiedliwia nieprzestrzegania normy. Czasami, jeśli standard jest głupi, to jest powód, aby go nie przestrzegać. Skąd wiesz, kiedy standard jest głupi? Kiedy przez dłuższy czas podejmowałeś starania w dobrej wierze, aby przestrzegać wszystkich odpowiednich standardów w formie literackiej i ducha, i doszedłeś do rozsądnego i dobrze popartego wniosku, że norma w jakiejś niszowej sprawie jest w rzeczywistości winna, a nie ty.

Przez większość czasu nie będzie to jednak miało zastosowania.

Tom Morris
źródło
5

Powiedziałbym, że „przestrzegaj” standardów najlepiej jak potrafisz - ale nie marnuj zbyt wiele czasu na nitpicking, czasem możesz przeprojektować standardowy HTML / CSS w dążeniu do perfekcji standardów i pozostawić go w najgorszym stanie.

Na przykład w jednej z naszych aplikacji internetowych mamy stronę do wystawienia faktury. Strona zawiera długą listę pozycji do zafakturowania i zawiera kilka kolumn. Pierwotny programista tak bardzo przesadził z syndromem „Stoły są złe”, że zaprojektował całą strukturę „tabeli” w CSS.

Całkiem imponujące, dopóki nie będziesz tym, który musi teraz dodać kilka dodatkowych kolumn do raportu, obserwuj, jak te kolumny idą wszędzie, ponieważ musisz zmienić ustawienia CSS, szerokość itp.… Koszmar.

Gdyby deweloper nie był tak anonimowy w przestrzeganiu tak zwanych standardów aż po tee, zdałby sobie sprawę, że normalna tabela HTML miałaby o wiele więcej sensu, w końcu data faktury jest tabelaryczna.

To prowadzi mnie do semantycznego HTML. Uważam, że Twój HTML powinien zawierać tylko elementy opisujące Twoją stronę. Style powinny być przechowywane w CSS, a co najgorsze, wpisane w atrybucie „Style” znacznika HTML, jeśli dotyczy.

Nie widzę też żadnego ważnego powodu, dla którego nie należy umieszczać kodu HTML przez moduł sprawdzania poprawności - pod warunkiem, że otrzymujesz prawidłowy kod HTML, to praktycznie go nie ma.

Dal
źródło
3

Pierwszą rzeczą, którą powinieneś rozważyć, jest obsługa przeglądarek używanych przez klientów. Po drugie, powinieneś stosować się do standardów, jeśli dotyczy.

Na przykład w ostatnim projekcie jedyną przeglądarką, którą musieliśmy obsługiwać, był Firefox 3.5. Oznaczało to, że możemy użyć właściwości -moz css bez obawy o wygląd strony w innej przeglądarce. Czy naprawdę warto byłoby wykonywać zaokrąglone rogi na dłuższą metę, tylko dlatego, że używaliśmy standardowego css?

Powiedziawszy to, przy tworzeniu witryn dla wielu przeglądarek standardy zwykle raczej pomagają niż przeszkadzają. Starałbym się przestrzegać większości standardów, ale nie traciłbym snu, gdybym musiał odstąpić od kompatybilności z przeglądarką.

Na ankietę odpowiedź brzmi: nie.

Lang Sharpe
źródło
0

Nie ślepo przestrzegaj norm. Niektóre standardy są dobre, niektóre złe. Służą one różnym celom, a niektóre, jak szkice HTML5, służą do popychania dużych twórców przeglądarek i programistów stron internetowych w jednym określonym kierunku, który wydaje się w większości dobry. Ale zawsze pamiętaj, że istnieje mnóstwo strasznych rzeczy, które zostały znormalizowane ...

COBOL też był standardem.

Kevin Cantu
źródło