Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: коментарии в длинном коде

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
White
Отправлено: 27 Июня, 2011 - 14:02:34
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




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


-----
if(time()>1356048000) die();
 
 Top
Bertolomych
Отправлено: 27 Июня, 2011 - 14:38:03
Post Id



Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Мне больше всего нравится вариант:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. /******************************************
  3.  *           Новый блок                   *
  4.  ******************************************
  5.  * В этом блоке делается то-то и то-то    *
  6.  * Функции:                               *
  7.  * someFunc() - делает то-то              *
  8.  ******************************************/
  9.  

Если речь об этом =)

(Отредактировано автором: 27 Июня, 2011 - 14:41:28)

 
 Top
White
Отправлено: 27 Июня, 2011 - 14:49:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




Цитата:
Если речь об этом =)

Речь именно об этом. Подмигивание

Еще варианты? Хочется услышать больше мнений.


-----
if(time()>1356048000) die();
 
 Top
Ejas Tower
Отправлено: 21 Июля, 2011 - 11:18:55
Post Id



Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Май 2011  
Откуда: Уфа


Помог: 0 раз(а)




Bertolomych пишет:
Мне больше всего нравится вариант:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. /******************************************
  3.  *           Новый блок                   *
  4.  ******************************************
  5.  * В этом блоке делается то-то и то-то    *
  6.  * Функции:                               *
  7.  * someFunc() - делает то-то              *
  8.  ******************************************/
  9.  

Если речь об этом =)

А может сделать то же самое, но в виде таблицы?
 
 Top
Мелкий Супермодератор
Отправлено: 21 Июля, 2011 - 11:27:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Мне нравится стиль JavaDoc. Логичен, распространён и можно документацию собирать автоматом.


-----
PostgreSQL DBA
 
 Top
DeepVarvar Супермодератор
Отправлено: 21 Июля, 2011 - 11:28:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ejas Tower пишет:
в виде таблицы
Какой таблицы и где?
 
 Top
Champion Супермодератор
Отправлено: 21 Июля, 2011 - 12:17:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Если вы хотите что-то разделить на логически отделенные блоки, то это стоит делать не комментариями, а собиранием кода в функции, классы, отдельные файлы. Вот.
 
 Top
White
Отправлено: 21 Июля, 2011 - 20:11:17
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




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


-----
if(time()>1356048000) die();
 
 Top
Champion Супермодератор
Отправлено: 21 Июля, 2011 - 20:23:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




White пишет:
а иногда это необходимо
А например когда?
 
 Top
White
Отправлено: 21 Июля, 2011 - 22:48:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




Champion а например в случае production версии фреймворка или ядра cms. в моих разработках колличество строк одного ядра иногда доходит до 1500 - 2000, а ведь это совсем не много...


-----
if(time()>1356048000) die();
 
 Top
Champion Супермодератор
Отправлено: 22 Июля, 2011 - 09:12:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Я не увидел здесь причин, обязывающих писать всё в один файл. Почему ядро не может быть поделено на отдельные модули?
 
 Top
White
Отправлено: 22 Июля, 2011 - 10:28:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




Champion а какой в этом смысл? ядро само по себе не выполняет действий, лишь объявляет функции и классы, тесно взаимодействующие между собой, и поэтому для нормальной работы необходимо одновременно иметь под рукой их все. выпадание какой либо из них делает неработоспособной всю систему, и по этому можно сказать что ядро это одно целое. ИМХО файлы стоит делить на части только тогда, когда каждая из этих частей может работать без остальных, т.е являться самостоятельной единицей, а делить на части целое, чтобы потом каждый раз все равно собирать их вместе не имеет смысла.
Далее, модулем ядра назовем определенный набор функций, использующих ядро, но не используемых ядром. Т.е. ядро может работать без модуля, модуль без ядра нет. Модули я выношу в отдельные файлы.
П.С. Естественно это не касается процесса разработки. Как я уже сказал в своем первом посте
White пишет:
В процессе разработки каждый блок вынесен в отдельный файл


-----
if(time()>1356048000) die();
 
 Top
EuGen Администратор
Отправлено: 22 Июля, 2011 - 10:32:55
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)






-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Champion Супермодератор
Отправлено: 22 Июля, 2011 - 10:54:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Ну можно хранить логически разные вещи в разных модулях, а какой-нибудь один главный модуль ядра пусть их все инклюдит.
Смысл - разделить разный по смыслу функционал по отдельным местам. То, что они все не могут существовать друг без друга, не значит, что они все должны быть в одном файле.
White пишет:
В процессе разработки каждый блок вынесен в отдельный файл
Вот. Правильно. А после разработки происходит поддержка как правило, а поддерживать, когда всё свалено в одну кучу не очень удобно по тем же причинам, по которым не удобно разрабатывать, когда свалено в кучу.
Но, в принципе, это не более, чем моя точка зрения, я ее не навязываю.
 
 Top
White
Отправлено: 22 Июля, 2011 - 11:14:37
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




EuGen Спасибо, то что надо.
Champion Возможно тогда стоит просто иметь 2 версии: production и development, как это часто и делается, так как поддержка может осуществляться сторонними программистами. спасибо, учту ваше мнение


-----
if(time()>1356048000) die();
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB