Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Правильно написанный код (https://javascript.ru/forum/offtopic/31078-pravilno-napisannyjj-kod.html)

dmitry111 26.08.2012 14:13

Правильно написанный код
 
Делаю большой проект на js, который будет расширятся после его завершения сторонними программистами.

Хотелось бы сделать код максимально понятным и читабельным.

Хотел услышать советы по оформлению, ссылки на интересные статьи, примеры идеального кода и т.д.

PashPP 26.08.2012 18:16

dmitry111,
Конечно, я сам новичек и мое мнение нельзя назвать авторитетным.
Но, не стоит сейчас думать о больших проектах.
Вот на своем примере. Джаваскрипт я изучаю 2.5 месяца. С месяц назад тоже сел делать ороро БОЛЬШОЙ ПРАЕКТ!!11
Смотря на него уже сейчас, я понимаю, что его легче переписать заново, чем исправлять и расширять. Уж не говоря о привлечении кого-то другого для копания в моих дебрях.

А так, стремление похвально.
http://learn.javascript.ru/style чтоб далеко не ходить.
Ну и по собственному опыту, обязательно комментируй код. Можно не после каждой строчки. А допустим, написал работающий блок строчек на 50 - закомментируй подробно все.

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

PashPP 26.08.2012 18:34

Maxmaxmахimus,
Фигня. Комментировать особенно поначалу надо побольше. Мы же говорим за рабочую версию кода, а не финальную. Так учиться гораздо легче.
Ну а потом обрезать все комменты в каком-то сервисе по оптимизации кода.

"ТОЛЬКО места которые требуют обьяснения которое не вкладывается в текст названия функции или переменной."
Лол. var tutTakoeChisloYaEgoSrazuMnozhuAPotomDodayuVkonceNa Ekranchik = 0

Хотя без шуток, с названиями тоже проблема. Я вот пока не могу в себе выработать единую и понятную систему именований. Тем более на английском. Может забить на это негласное правило "все переменные англ.словами" и транслитом фигарить? Что теряем, кроме того, что буржоносцы не поймут наш код? Ну и что остальные как на невежду смотреть будут.

Gozar 26.08.2012 19:07

Самое сложно это придумать ёмкие названия функций и переменных. Обсуждалось.

Комментарии нужны чаще себе, чем другим. Пиши так, чтобы легко понял ты. Будь краток, но чтобы было понятно что происходит в блоке или что особенного в функции или куске кода.

Конечно 50 строк описания это перебор и превращает комментарий в воду.

Я в основном комментирую узкие места. Объясняю почему именно так, а не по другому. Весь код комментировать нет смысла. Если ты не можешь читать код, то тебе нужно учиться его читать и понимать иначе в программисты путь заказан.

И учи язык, транслит не нужен, js можно и по русски, но выглядит жутковато. ;)

Gozar 26.08.2012 19:12

function Сложить (всего, количествоЧеловек) {
var результат  = всего + количествоЧеловек;
alert(результат);
}

var всего = 20, количество = 3; 
Сложить(всего, количество);

PashPP 26.08.2012 19:50

Цитата:

Сообщение от Maxmaxmахimus
обоснуй

Обосновал выше.
Цитата:

Сообщение от Maxmaxmахimus
ты че тупой?

Конечно. А еще кто-то не понимает юмора. Хоть сам шутник еще тут.

Цитата:

Сообщение от Gozar
Конечно 50 строк описания это перебор и превращает комментарий в воду.

Эм. если тут о моих 50 строчках. То я имел ввиду после каждых 50 работающих строчек комментировать, что происходило там и как.

Я говорю то, что работает для меня. Может для спецов это и не надо уже, но поначалу комменты спасают.

Gozar 26.08.2012 20:23

Цитата:

Сообщение от PashPP
если тут о моих 50 строчках.

А ну да, я просто читал быстро. Но я бы советовал комментировать сложные места, а не считать строчки.

dmitry111 26.08.2012 21:16

Все что изложили, понятно, учту..
Спасибо!

melky 26.08.2012 21:37

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 200572)

https://github.com/mrdoob/three.js/b...three.js#L6440

function is_pow2( n ) {
...........
function nearest_pow2( n ) {
.............
function load_image( where, url ) {


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

Если Вы собираетесь выкладывать свой код на github \ svn, то не стоит приходить в чужой монастырь со своим уставом - читайте styleguide, и соблюдайте его.
http://google-styleguide.googlecode....criptguide.xml
https://github.com/styleguide/javascript

PashPP 26.08.2012 22:04

Цитата:

Сообщение от melky
кэмэлкейз

Эм. Может тут ты хотел сказть НЕ кемелкейз?

Кстати, чем он лучше нижнего подчеркивания? Я хоть по правилас хорошего тона и использую, но чет душа больше к подчеркиванию лежит.


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