Модераторы: Illuminaty

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько правил написания кода 
:(
    Опции темы
sergejzr
Дата 16.6.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



 Как мы знаем, XHTML набирает обороты и синтаксис определён у него намного строже "старого" HTML.
Мы стараемся не отставать. Именно код в формате XHTML, например будет правильно подсвечен в тэгах "code".
Вот пара нехитрых пунктов, которые помогут нам сделать код не только удобночитаемым но и правильноподсвечиваемым!

-------------------------------------------------------------------------------------------------------------------------------------
  1.  Каждый открытый тэг ДОЛЖЕН иметь иметь своего закрывающего брата.

    ПРАВИЛЬНО:<p>here is a paragraph.</p><p>here is another paragraph.</p>
    НЕПРАВИЛЬНО:<p>here is a paragraph.<p>here is another paragraph.

  2. Значения аттрибутов ДОЛЖНЫ находится в кавычках. Даже если они являются числами.

    ПРАВИЛЬНО:  <td rowspan="3">
    НЕПРАВИЛЬНО: <td rowspan=3>

  3. Аттрибуты НЕ СУЩЕСТВУЮТ сами по себе, но только в паре со своим значением

    ПРАВИЛЬНО:<dl compact="compact">
    НЕПРАВИЛЬНО:<dl compact>

  4. Одиночные элементы закрыты в себе слэшем

    ПРАВИЛЬНО<br/><hr/>
    НЕПРАВИЛЬНО<br><hr>

  5.  (thanks PHP-DIRECTOR):
    Пишите только в нижнем регистре:

    ПРАВИЛЬНО: <a href="index.php">ссылка</a>
    НЕПРАВИЛЬНО: <а HREF="index.php"></а>
  6. Необходимо соблюдать последовательность закрытия тегов:

    ПРАВИЛЬНО: <p><b>Слово</b></p>
    НЕПРАВИЛЬНО: <p><b>Слово</p></b>
  7. (thanks dm9):
    Не использовать сокращённую запись для пары тэгов, для которых в спецификации предусмотрено внутреннее содержимое.

    ПРАВИЛЬНО: <div></div> <p></p> <td></td>
    НЕПРАВИЛЬНО: <div /><p /><td />

    Наоборот, одиночные по спецификации разбивать на пару можно:
    ПРАВИЛЬНО: <br></br>
    ПРАВИЛЬНО: <hr></hr>
  8. (Спасибо Nuxx) Спецсимволы начинаются с & и кончаются ; Это означает, что сам по - себе амперсанд необходимо экранировать.

    ПРАВИЛЬНО: <a href="index.php?mod=1&amp;cat=212">link</a>
    НЕПРАВИЛЬНО: <a href="index.php?mod=1&cat=212">link</a>
------------------------------------------------------
Свой код можно полностью проверить на соостветствие стандарта с помощью валидатора от W3C. 
http://validator.w3.org/

Актуальная спецификация полностью: 
http://www.w3.org/TR/xhtml1/#h-4.3

Подтолкнул на мысль: http://vingrad.ru/@Irokez

Пишите в новом стандарте smile И да подсветится всё правильно и без ошибок!
    


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
GZep
Дата 12.3.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



Цитата(sergejzr @  16.6.2005,  20:32 Найти цитируемый пост)
Аттрибуты обязательно писать в кавычках 
  • Не атрибуты, а значения атрибутов.
  • Это правило написано два раза.



--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 30.4.2007, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



set36
ms твой не атрибут вовсе, а элимент в GET запросе и не PHP единым богаты обработчики.



Цитата(sergejzr @  16.6.2005,  20:32 Найти цитируемый пост)
(Спасибо Nuxx) Спецсимволы начинаются с & и кончаются ; Это означает, что сам по - себе амперсанд необходимо экранировать.ПРАВИЛЬНО: <a href="index.php?mod=1&amp;cat=212">link</a>НЕПРАВИЛЬНО: <a href="index.php?mod=1&cat=212">link</a>

По моему это уже извращение полное. Валидный код должен быть удобным для чтения, а у нас получаеться лес глухой...


И тут еще вопрос был, про то, как значение артибутов обромлять...
Подходят и одинарные и двойные кавычки 
<primer at1='1' at2="2">

Выбор в принципе не важен, но есть один момент, если (x)html код выводиться динамически т.е. используються языки программирования (на пример PHP), то нужно использовать тот тип, который не будите использовать в языках программирования, чтобы не пришлось экранировать кавычки....
Код

//выведет ошибку
print '<primer at1='1' at2="2">';
//Ошибку не выведит, но лишняя беда с эканированием
print '<primer at1=\'1\' at2="2">';
//Все счастливы...
print '<primer at1="1" at2="2">';


PM MAIL   Вверх
Uratsakidogi
Дата 30.4.2007, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 17.10.2006

Репутация: 11
Всего: 11



Цитата(BuShaRt)
Валидный код должен быть удобным для чтения, а у нас получаеться лес глухой...
Именно поэтому урл должны быть внятнго вида, а не такие монстры. ;)

--------------------
ЖЖ | ВерстаюНЕПОЗВОЛЯЙТЕ ЯЩЕРИКАМ, ОТРИЦАТЕЛЬНЫМ ИНОПЛАНЕТЯНИНАМ ОВЛАДЕВАТЬ ВАС, НЕ СТАНОВИТЕСЬ ИХ МАРИОНЕТКАМИ!
PM MAIL WWW ICQ Skype   Вверх
SelenIT
Дата 1.5.2007, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 97
Всего: 401



Цитата(OlegNT @  4.12.2006,  10:16 Найти цитируемый пост)
И заключать весь JavaScript-код в [CDATA[ ... ]]

...здесь возникает резонный вопрос: много ли толку будет от всей этой валидности-перевалидности, если всё равно отдаваться это в 99.9% случаев будет с "неподобающим" Content-type: text/html (а не application/xhtml+xml, для которого, собственно, лишь и имеют смысл "сидаты" и прочие XML-ные "навороты")?  smile 


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
BuShaRt
Дата 1.5.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Uratsakidogi
по моему как раз и предлагают сделать моснтров smile
PM MAIL   Вверх
Uratsakidogi
Дата 1.5.2007, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 17.10.2006

Репутация: 11
Всего: 11



Что index.php?mod=1&amp;cat=212, что index.php?mod=1&cat=212 — одинаковая фигня.
Нужно копать глубже.
--------------------
ЖЖ | ВерстаюНЕПОЗВОЛЯЙТЕ ЯЩЕРИКАМ, ОТРИЦАТЕЛЬНЫМ ИНОПЛАНЕТЯНИНАМ ОВЛАДЕВАТЬ ВАС, НЕ СТАНОВИТЕСЬ ИХ МАРИОНЕТКАМИ!
PM MAIL WWW ICQ Skype   Вверх
sergejzr
Дата 1.5.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Цитата(SelenIT @  30.4.2007,  23:11 Найти цитируемый пост)
...здесь возникает резонный вопрос: много ли толку будет от всей этой валидности-перевалидности, если всё равно отдаваться это в 99.9% случаев будет с "неподобающим" Content-type: text/html (а не application/xhtml+xml, для которого, собственно, лишь и имеют смысл "сидаты" и прочие XML-ные "навороты")?  smile 


Дык ты же программист. как напишешь, так и будет. Отдавай правильные заголовки, или забей на XML.

Цитата(BuShaRt @  1.5.2007,  12:34 Найти цитируемый пост)
по моему как раз и предлагают сделать моснтров

Существуют правила и их надо придерживаться. XML возможно не лучший способ передачи данных, но это единственный стандартизированный. А монстровские урли лучше всего убирать через rewrite. как например на нашем форуме и сделано.



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
BuShaRt
Дата 2.5.2007, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



sergejzr
 smile Ну знаете ли, мне кажеться всему должна быть мера и я больше чем уверен, что в стандартах именно о URL нечего не сказанно, сказанно лишь о символе &, но ведь в данном случае это часть значение атрибута, причем экранированный кавычками...

Я на пример плохо понимаю в URL форума, какой переменной что присвоенно...

Это сообщение отредактировал(а) BuShaRt - 2.5.2007, 08:55
PM MAIL   Вверх
SelenIT
Дата 2.5.2007, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 97
Всего: 401



Цитата(BuShaRt @  2.5.2007,  08:50 Найти цитируемый пост)
я больше чем уверен, что в стандартах именно о URL нечего не сказанно, сказанно лишь о символе &, но ведь в данном случае это часть значение атрибута, причем экранированный кавычками...

Сказано-сказано;). И кавычки тут не влияют. Влияет вышеупомянутая CDATA, но внутрь атрибута её не запихнёшь...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
BuShaRt
Дата 2.5.2007, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



SelenIT
Ладно, допустим при верстке мы можем этот момент отследиться, а что делать с формами?

Код

<form action="index.php" method="get">

</form> 

PM MAIL   Вверх
SelenIT
Дата 2.5.2007, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 97
Всего: 401



А формы здесь причем? Они же в HTML-код URL-строку не вписывают...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
BuShaRt
Дата 2.5.2007, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



SelenIT
Горе мне горе...  smile 
Сразу не сообразил, что в тоге мы получим вполне читабильную ссылку smile А закорючки остануться только в исходнике HTML.
PM MAIL   Вверх
mr.Anderson
Дата 13.5.2007, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



Не нашел я тут стилистических правил написания кода. smile Позвольте добавить?

1. Не забываем делать отступы между логическими блоками кода. Не надо лепить все в кучу.
Код

<!-- Правильно -->
<html>

 <head> <!-- Заголовочный блок, информация о странице -->
  <title>My Title</title>
 </head>

 <body>
  <!-- Чего-то там в теле документа :) -->
 </body>

</html>

<!-- Неправильно -->
<html>
<head>
<title>MyTitle</title>
</head>
<body>
</body>
</html>

2. Не забываем делать отступы от левого края, иллюстрируя вложенность тегов (пример выше).

3. Время от времени комментируем код. Не надо кидать в меня тухлыми помидорами, даже профи это иногда может потребоваться, если код в несколько сотен строк (пример выше).


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
GZep
Дата 13.5.2007, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



Цитата(mr.Anderson @  13.5.2007,  21:09 Найти цитируемый пост)
Не забываем делать отступы

вот я хотел спросить: что именно подразумевается под отступами? \t или 4 пробела или 1 пробел.
Меня интересует как правильно делать, или такого стандарта нет?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
mr.Anderson
Дата 13.5.2007, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



Вроде, стандартов нет, но кто говорит - 1 пробел нужен, кто - 2, а кто Tab юзает. ИМХО, это на усмотрение самого программера. Мне вот удобно 1 пробел ставить.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.1271 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.