Съвет за домашни по HTML


13

Здравейте, Колеги.

Създавам тази тема с идеята да подканя всички да си прекарат домашните през валидатора на W3C:

http://validator.w3.org/#validate_by_input

Копи-пействате кода си и цъкате на Check.

При мен валидаторът помогна да си отговоря на следните въпросите:

Дали ми е правилно домашното?

Дали структурно съм го подредил добре?

Даде ми и правилни насоки към "коректният начин".

Смятах, че съм готов с домашното и преди да го кача се сетих за думите на асистента: "Валидирай домашните преди да ги предадеш".

И изведнъж се появиха няколко грешки, които нямаше да открия.

Ще дам и пример, тъй като може да е полезен на някой:

<th></th> Трябва да се използва между <tr></tr>. 

Моята логика: Тъй като се използва за заглавие на колоните не е необходимо да му слагам Table Row таг.

Логиката на браузъра (невидима за нас): Тоз пък е изтървал <tr> - тага, но аз ще го рендна без да мрънкам.

Логиката на валидатора: Грешка: <th> трябва да е оградено в <tr> !

Поздрави!




Отговори



0
Всъщност логиката на валидатора е най-вярна, защото какво ще стане ако искаш да имаш 2-3 заглавни реда - заглавие и подзаглавие на колоната - браузърът как ще разбере това?
Съгласна съм, че по-добре кодът да мине през валидатор.

от Nevencheto (587 точки)


0
Ясно е, че валидаторът ще е по-верен. Браузърът се стреми да прикрие тези грешки, защото ако ти изкриви няколко пъти страницата веднага ще го смениш :)

от nikolaikolarov (2177 точки)


0

Не можеш да използваш <th>, без да е оградено от <tr>, същото важи и за <td>.

<th> и <td> задават клетките, а редът се задава от <tr>.

Това е в сила за всички версии на НТМL, които поддържат таблици.

Поздрави!


от ellapt (6303 точки)


0
От доста време ползвам таблици и th винаги съм ги писал без tr и никога не е имало проблем(с визуализацията). Чак след като минах през валидатора днес открих моята грешка :)

от nikolaikolarov (2177 точки)

0
Е да, браузърът ще ги визуализира, както в много случаи при неправилни тагове, но в даден момент нещо ще се запъне. Например това, което казва Невенчето. Или ще поискаш да смениш стила на целия ред в CSS. Затова се учим тук :-) А виж, това, че браузърът ще покаже всичко, за да не го смениш, не бях се сещала :-) Много добра тема си отворил.

от ellapt (6303 точки)



1
Колега,
Не си първият:
http://forums.academy.telerik.com/16326/%D0%BA%D0%B0%D0%BA-%D0%B4%D0%B0-%D1%81%D0%B8-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D0%BC-%D0%B3%D1%80%D0%B5%D1%88%D0%BA%D0%B8%D1%82%D0%B5-%D0%B2-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8%D1%82%D0%B5-%D0%BF%D0%BE-html

от vphilipov (3591 точки)


0
Извинявам се за дубъла, от октомври следя форума и затова съм я изтървал.

от nikolaikolarov (2177 точки)


0
Валидатора е просто помощно средство да видите дали не сте объркали нещо (правописно или копи/пейст). Но само до там - валидатора не може да ви каже, дали сорса ви е правилен. Той просто следва редица от правила, но не и логика.

от lamerko (1141 точки)


0
Препоръчвам ви като изпозвате валидатора и ви изкара, че имате няколко грешки, оправяйте ги поетапно и ги минавайте пак през него след всяка оправена грешка.
На мен ми се е случвало като оправя една от посочените грешки, при следващата валидизация, да са отстранени и други от грешките.
Поздрави,
Нели



0
Потвърждавам. Това се случва най-често, когато някой таг не е затворен (забравили сме).

от cherokee (1277 точки)


0
Наистина е полезно да се преминава през валидатора. При мен най- често грешките са били от невнимание и от тази гледна точка тази практика ми е помогнала да съм по-коректен по-нататък в писането и да не допускам толкова неточности. А също и при проверката на домашните съм чувал че се следи за грешките при валидация, въпреки че това не е най-важният критерий.

от Z_Petrov (829 точки)


0
Не съм сигурна че е правилното място да си задам въпроса, но относно домашните ако искаме повторно да пратим дадена задача от домашно цялото ли го пращаме или само поправената задача?

от Martichka (90 точки)


0
Цялото. Системата отчита последното изпратено домашно.

от Teodor92 (13062 точки)

0
Много благодаря

от Martichka (90 точки)


3

Напълно те подкрепям! Както е казано на лекция browsers толерират невалиден и грешен код и го визуализират като верен. Как е възможно да знаем какви са ни грешките без валидация? Като чета съобщенията на валидатора и поправям, научавам повече и за по-качествен код.  Ако оставим некоригирани грешки без валидация на html 5 и css 3 кодовете, каква надеждност на проекта ще очакваме като продължаваме с други езици например JS и  в последния етап на проекта - CMS - примерно WP. Ще се натрупат грешки от къде ли не, колко време ще коригираме на финала и как ще разберем коя грешка откъде - от кой код идва, а и крайният продукт ще е далеч от желания?!

Все пак валидаторите (и на CSS 3) проверяват въведения код  за логика и  синтаксис. Валидаторът не може да знае дали сме написали правилния код според нашето задание. Това е наша грижа разбира се.

Хубава вечерsmiley


от marias (752 точки)


0
КОЛЕГИ, не ви трябва никакъв валидатор, първо правило на програмиста е "нещо ако тръгва от първия път значи не работи", ако сте слушали внимателно лекциите, а не сте играли игрички докато главния джедаи ви е преподавал, google имаха около 500 грешки в саита, саита на телерик имаше 70(около, не помня точно), важното е да ви се визуализира правилно в 5-те основни browsera, всички сайтове се чупят, няма изключение, и няма значение дали валидатора показва грешки, важното е написания код да ви е семантично правилен....

от hellfire (0 точки)

0
Не съм съгласна с твоите абсолютно неубедителни съвети (с моя скромен - над 10 годишен програмистки опит) За първи път чувам за "първо правило?" на "програмиста" - ако нещо тръгва от първия път.... " - приемам го за черен хумор, къде е програмистката логика в тези мисли? Ако не е понятно какво значи браузърите ТОЛЕРИРАТ - това е причината И НЕВАЛИДЕН, И ГРЕШЕН КОДОВЕ ДА СЕ ИЗПЪЛНЯВАТ КАТО ВЕРНИ - казано е на лекция и трейнерът е добавил, ние да НЕ ги допускаме - грешен или невалиден код. Да не говорим колко голям е Google, а и сайтът на Telerik Academy непрекъснато набъбва. Различните програмни средства понякога изискват конкретни съвместими версии, различните developers имат различен стил - това не са грешки, отделните региони на сайтовете-завършени модули, се променят често. НЕ Е ВЪЗМОЖНО да се валидира ЧЕСТО сайт, който е голям и динамично се променя - актуализации, нови рубрики. Но нашите МАЛКИ домашни, кое е толкова трудно? Валидаторът брои за грешки и стиловете в html например, които препоръчва по-правилно да се опишат в css file - но и това не е точно грешка (например не е учен css още или просто style в html e по-целесъобразен вариант понякога, но рядко). В добавка старите браузъри IE6 - IE8 не изпълняват семантични тагове. Точно W3C са автори на валидаторите и съблюдават спазването на правилата и за семантичен html5 и web . За чупенето - защо ще проверявам, ще науча ли нещо повече, ако го правя? (Направих пробни тестове, за да си проверя пропуските.) Колко са всички сайтове, непрекъснато растат! Колко реално е необходимия zoom, за да се превключат и други работещи прозорци в момента, ако е над 150-200%, колко виждаме от необходимото в работната област? Не е професионално да се игнорира валидаторът и нe са възможни подобрения на кода без неговото използване. Съжалявам, не мога да споделя твоето изказване изобщо! Важно е да пишем коректен, качествен код и валидаторите само ни помагат. Има и CSS3 валидатор, както знаем и много хора, и фирми са спонсори, за да се използват валидаторите от всеки. Конкуренцията в Web developing е огромна. Много хора поназнайваме, но къде отиват клиентите тогава?

от marias (752 точки)


0

Здравейте колеги. Чудя се, дали трябва да обръщам внимание на warning-ите в този валидатор, след като ми дава, че кода минава :)

И по-точно на

-No Character encoding declared at document level

-Using Direct Input mode: UTF-8 character encoding assumed


от DianaK (95 точки)


0
Просто добави в head-a ->

от Teodor92 (13062 точки)