Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поделитесь советом как профессиональней писать скрипты, в чем плюсы и минусы (https://javascript.ru/forum/misc/10553-podelites-sovetom-kak-professionalnejj-pisat-skripty-v-chem-plyusy-i-minusy.html)

iwgwish 09.07.2010 10:45

Поделитесь советом как профессиональней писать скрипты, в чем плюсы и минусы
 
Я новичок в программировании, и хотелось бы как правильней писать скрипты.
Скрипт1:
<script>
	imgPath = "images/";
        pictures = new Array("photo_1","photo_2","photo_3");
	suffix = "_on";
	extension = "jpg";

	total = pictures.length;
 
	On_Images = new Array();
	Off_Images = new Array();
 
	for (i = 0; i < total; i++) {
	
		On_Images[pictures[i]] = new Image();
		On_Images[pictures[i]].src = imgPath + pictures[i] + suffix + "." + extension;
	
		Off_Images[pictures[i]] = new Image();
		Off_Images[pictures[i]].src = imgPath + pictures[i] + "." + extension;

	}

function on(name)
{
		document.images[name].src = On_Images[name].src;
}

function off(name)
{
		document.images[name].src = Off_Images[name].src;
}
</script>

__________________________________
Скрипт2:
<script>
var folder = 'images/'; var suffix_on = '_on';

function  on(e_name{
var url_on = folder + e_name + suffix_on + '.jpg';
document.images[e_name].src = url_on;
}
function  off(e_name){
var url_off = folder + e_name + '.jpg';
document.images[e_name].src = url_off;
}
</script>

_______________________________________
и сам html код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>[06] Создание rollover–изображений</title>

<script type="text/javascript" src="script.js"></script>
</head>

<body>

<h2>[06] Создание rollover–изображений</h2>

<p>&nbsp;</p>

<p><a href="#" onmouseover="on('photo_1');" onmouseout="off('photo_1');"><img src="images/photo_1.jpg" name="photo_1" width="130" height="98"></a></p>

<p><a href="#" onmouseover="on('photo_2');" onmouseout="off('photo_2');"><img src="images/photo_2.jpg" name="photo_2" width="130" height="98"></a></p>

<p><a href="#" onmouseover="on('photo_3');" onmouseout="off('photo_3');"><img src="images/photo_3.jpg" name="photo_3" width="130" height="98"></a></p>

</body>
</html>

Kolyaj 09.07.2010 10:52

Мне вот интересно, вы же наверно смотрели темы на форуме. Видели там выложенный код, видели, что он подсвечен. Неужели не возникает вопросов "А почему у меня код нечитаемый вообще? Как же другие будут об него ломать глаза? Да они наверно и не станут.".

Sweet 09.07.2010 10:56

практика + отслеживание свежих тенденций + наличие головы как таковой = сразу правильно писать скрипты

DooMer 09.07.2010 13:25

On_Images = new Array();

перед On_Images ставьте var. Array = [];
var On_Images = [];


<a href="#" onmouseover="on('photo_1');" onmouseout="off('photo_1');">

используйте addEvent
то что в глаза бросилось

Kolyaj 09.07.2010 13:31

В JavaScript принят camelCase-стиль наименования функций и переменных. Ещё советы, когда уже наконец код оформите.

Gvozd 09.07.2010 23:56

Цитата:

Сообщение от Kolyaj
В JavaScript принят camelCase-стиль наименования функций и переменных.

кем, и когда принят?)
ладно, я еще понимаю, когда говорят, что для PHP "стандартом" является PEAR-стиль.
хотя, опять-таки его считаю скорее рекомендательным.
соглашения о коде могут быть в пределах рабочей группы, или же сообщества.
вообще-же, вопрос о стиле написание во многом более холиварен, чем конструктивен.
и стандартов тут не может быть

B~Vladi 10.07.2010 00:18

Цитата:

Сообщение от Gvozd
кем, и когда принят?)

Гвоздь, ну ты даешь. Я, конечно, уважаю привычки своих коллег, но в JS действительно популярен именно camelCase-стиль. Да и в css советую применять для именования класов. Обрати внимание на имена методов нод, например.

Octane 10.07.2010 00:32

Цитата:

Сообщение от B~Vladi
Да и в css советую применять для именования класов.

А в CSS принято так:
.some-class-name {…}

;)

B~Vladi 10.07.2010 00:44

Цитата:

Сообщение от Octane
А в CSS принято так:

А я советую не так. Может мое мнение примем за правило? А почему бы и нет...

Gvozd 10.07.2010 00:50

Цитата:

Сообщение от B~Vladi
Обрати внимание на имена методов нод, например.

и ты еще мне удивляешься?)
какое отношение имеют имена методов и свойств нод к JS?
никакого, так как они такие, потому что было принято строгое соглашение интерфейса DOM
и это соглашение не привязано ни к какому из языков, и не может являтся основанием для стиля всего языка.
например подавляющие число встроенных функций PHP именуются через подчеркивание, но методы и свойства DOM именуются CamalCase-ом, потому что так велит спецификация DOM
хотя, да соглашусь, в JS все встроенные сущности именуются именно CamelCase
но, это далеко не повод использовать в своих идентификаторах аналогичный стиль
например PEAR-соглашение о стиле предполагает(рекомендует) CamelCase-именование, то есть отличное от встроенных идентификаторов соглашение.

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

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

Цитата:

Сообщение от B~Vladi
А я советую не так. Может мое мнение примем за правило? А почему бы и нет...

по-моему, ты именно это и пытаешься навязать.


Часовой пояс GMT +3, время: 18:58.