Программистам: как делаете объёмные проекты?

DV
На сайте с 01.05.2010
Offline
644
3284

Написать сотню-другую строк кода не вопрос: всё перед глазами, логика ясна.

Когда же нужно раскидать всё на несколько процедур, файлов, тут уже у некоторых людей начинаются проблемы. Например, меня, так сказать, собственный склероз ограничивает. Память и так не очень. Пока пишу конкретный участок кода, прекрасно понимаю, что он делает. Если же дело растягивается на несколько дней, тут то и выказывается неудобство. Приходится долго заново въезжать в то, что написал.

Итак, что делать? Какие инструменты структуризации применяете? Блок-схемы, специальные программы, ещё какие-то варианты...

Предпочитаю работать в умных блокнотах, в IDE разобраться нервов не хватает.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
dkameleon
На сайте с 09.12.2005
Offline
386
#1
DenisVS:
Приходится долго заново въезжать в то, что написал.

тут очень помогают комментарии.

правда, сам ими не пользуюсь 😂

20k строк джаваскрипта держу в памяти :D

Дизайн интерьера (http://balabukha.com/)
DV
На сайте с 01.05.2010
Offline
644
#2

dkameleon, я вот комментирую очень подробно на русском. И всё равно забываю, что куда.

Проблема со вложенностью циклов, назначениями переменных и т.д.

Mr_Promoter
На сайте с 06.08.2004
Offline
254
#3

Я код начинаю писать примерно так

<?

// получение переменных

// геренация контента

// подстановка в шаблон

// вывод в бараузер

?>

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

А в корневой программе оперировать только вызовами этих функций. Как то так.

http://webpromote.ru (http://webpromote.ru) - пописываю иногда ...
SC
На сайте с 31.10.2010
Offline
0
#4

Разбив код по методам (функциям), практически любая IDE предоставит вам быстрый и удобный доступ к каждой функции.

Умные блокноты можно использовать либо для небольших проектов, либо если вы заранее структурировали проект, который вы пишите.

Удобно группировать похожие по смыслу методы в классы. Например, если вам нужно обратить к базе данных, вы заранее будут знать что ваши методы лежат к классе DataBase. Если у вас накопилось слишком много методов для работы с пользовательскими данными (управление аккаунтом на сайте), то удобно вынести их в подкласс. Например: DataBase->UserManaging.

Блок-схемы тоже могут помочь в разборке логики, но лично я их использую крайне редко. Люблю вот этот вот онлайновый построитель блок-схем: https://www.lucidchart.com/documents/demo.

В любом случае, советовал бы вам набраться терпения и пересесть на IDE.

R
На сайте с 13.04.2009
Offline
160
#5

mvc .

TF-Studio
На сайте с 17.08.2010
Offline
334
#6

Вынести всё в отдельные файлы, спроектировать все логично + описания.

Можно завести отдельный файл с описаниями, если склероз.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
edogs software
На сайте с 15.12.2005
Offline
775
#7
DenisVS:
Написать сотню-другую строк кода не вопрос: всё перед глазами, логика ясна.
Когда же нужно раскидать всё на несколько процедур, файлов, тут уже у некоторых людей начинаются проблемы. Например, меня, так сказать, собственный склероз ограничивает. Память и так не очень. Пока пишу конкретный участок кода, прекрасно понимаю, что он делает. Если же дело растягивается на несколько дней, тут то и выказывается неудобство. Приходится долго заново въезжать в то, что написал.

Итак, что делать? Какие инструменты структуризации применяете? Блок-схемы, специальные программы, ещё какие-то варианты...

Предпочитаю работать в умных блокнотах, в IDE разобраться нервов не хватает.

На больших проектах - только IDE (большие проекты - только zend studio почему-то), хинты изрядно помогают в них, разбираться там не надо и так все работает. А так - стандартно - самокомментирующийся код + дробление на куски (для себя взяли за правило, если логический кусок кода не влезает в экран или ветвление цикла/условий выше 3 - часть кода выносится в отдельную функцию).

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

DenisVS:
dkameleon, я вот комментирую очень подробно на русском. И всё равно забываю, что куда.
Проблема со вложенностью циклов, назначениями переменных и т.д.

Реально реквестируем пример.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
Dreammaker
На сайте с 20.04.2006
Offline
569
#8
DenisVS:
Проблема со вложенностью циклов, назначениями переменных и т.д.

если вложенностей больше 2-3 - это уже проблема - выносите в отдельные методы с человекочитаемым названием. Аналогично название переменных должны говорить за что они отвечают.

WM
На сайте с 20.12.2011
Offline
14
#9
Dreammaker:
если вложенностей больше 2-3 - это уже проблема - выносите в отдельные методы с человекочитаемым названием. Аналогично название переменных должны говорить за что они отвечают.

Ну всё же цель всего этого автоматизировать весь процесс.

Dreammaker
На сайте с 20.04.2006
Offline
569
#10

WmMariupol, что вы имеете в виду?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий