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 :: Фундаментальный вопрос.
Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
Долго ли, коротко ли, прочитав несколько десятков книжек и статей про php и JS, я более-менее научился создавать сайты. Не удержусь и сошлюсь на мое последнее творение: http://scilance[dot]com . Тоже все-таки не персональная страничка, web 2.0 с применением AJAX и все такое. Но! Как был я быдлокодером, так и остался. Посмотреть на код профи приятно - например на код фреймворка (я пользовался CodeIgniter) - он напоминает аккуратную кирпичную кладку стены дома в маленьком альпийском городке. Мой же код напоминает приведенную ниже картинку. И речь идет не о том, чтобы соблюдать отступы и правильно расставлять скобки, одинаково расставлять горбы в названиях переменных и классов. Этому я более-менее научился. Речь об общей логике написания программ.
Профи пишут их как будто руководствуясь точным, рассчитанным до мелочей планом какого-то более глубокого уровня, нежели та самая блок схема работы программы, с которой рекомендуют начинать проект в самых продвинутых учебниках по программированию (о них ниже). Я сделал диаграмму! Я ей следовал! Но мой код все равно похож на лоскутное одеяло. Он состоит из сплошных затычек, заплаток и дыр.
Мне не хватает каких-то самых фундаментальных знаний о программировании.. Но где их взять? Все книжки, да и статьи, по программированию описывают синатксис, функции, ну.. некторые приемы.. Но как это все слить воедино? Я знаю что такое рекурсия! Но, ёлки-палки! Я никак не могу врубиться, куда же ее засунуть?
Или вот пример: работа над ошибками. Никак не могу понять, как профи это делают. В том же CI чуть не большинство функций вообще ничего не возвращают кроме кода ошибки. Как так?!? А для чего вообще нужны эти функции? Но ведь работает же, зараза! И как! Для меня это тайна за семью печатями... А как научиться? Что читать? В чем секрет? Вот, собственно мой вопрос к вам, Мэтры! Прикреплено изображение (Нажмите для увеличения)
Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009 Откуда: Днепропетровск, Украина
Помог: 75 раз(а)
А это что такое? Почему так некрасиво налазит меню на текст? Прикреплено изображение
cHameleon
Отправлено: 02 Сентября, 2010 - 23:10:34
Гость
Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
А у меня не налазит) у меня в ff скрипты запрещены)
----- берём notepad++ и творим пэхэпэ-мир
Bertolomych
Отправлено: 02 Сентября, 2010 - 23:16:54
Новичок
Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
SAD пишет:
А это что такое? Почему так некрасиво налазит меню на текст?
оуч. Спасибо. Это я нововведение ввел - убрал скроллбар. и забыл протестить в IE... (Добавление)
З.Ы. Но это к делу не относится, это ж вообще CSS.
cHameleon пишет:
А у меня не налазит) у меня в ff скрипты запрещены)
ну, скрипты, если верить статистике w3c отключают около 4% пользователей.. можно их не учитывать особо.. На первых порах, по крайней мере. (Добавление)
Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009 Откуда: Днепропетровск, Украина
Помог: 75 раз(а)
это у меня в ff
Viper
Отправлено: 03 Сентября, 2010 - 08:34:22
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
Bertolomych разрабы игнитера руководствовались правилами написания кода MVC. MVC не ново, но на наши просторы к простым программистам доходить начало только недавно. Также очень важно знать и понимать ООП какое оно в php5, тогда без труда поймете логику MVC и у вас не будет затычек + учитывайте так же что в любой сложной системе могут отойти от стандартных методов MVC и использовать свои, а вы потом смотрите на код онимаете его, но без описания api самой системы мало что сможете сделать(яркий пример joomla 1.5).
Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
Viper, Спасибо! Но речь немного не о том.. С MVC я вродь знаком и ею именно и пользовался. Знаком и с ООП (не на 5+, но в целом понимаю, спасибо, кстати этому форуму во многом).
Суть вопроса в том, есть ли какая-нибудь книжка (или сайт какой-нибудь), по которой можно было бы изучить общую логику программирования как такового, а не какой-то конкретный язык? И, опять же, не какой-то конкретный подход, типа того же MVC.
Один мой знакомец учится на программиста в университете. У них там есть отдельный предмет "программирование". Не "программирование на С", а просто "программирование". И они там разбирают всякие типовые задачи, "как вообще писать программы", ту же рекурсию. Но я что-то не видел записей этих лекций (а даже если бы и увидел - они все равно на немецком, он в германии учится). Но наверняка есть же чего-нибудь в этом духе и на русском. Если бы я хотя бы знал, как такие книжки должны называться...
movEAX
Отправлено: 04 Сентября, 2010 - 00:01:57
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
"Чистый код" ( Роберт Мартин ), томики Кнута, "Технология разработки ПО" (Брауде), "Инжинерия ПО"(Соммервилл), "ОО анализ и проектирование" (Грэди Буч) - не знаю что еще посоветовать.. разве что по алгоритмизации книжку еще какую-нибудь.
----- армия.. самое убогое место
EuGen
Отправлено: 04 Сентября, 2010 - 12:50:24
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
А у меня NoScript. И он все недоверенное блокирует. Неплохо бы проверять, включен ли JS у клиента и, если нет, а функционал без него ну никак нельзя сделать - сообщить что ли об этом (как, например, на рамблере это сделано).
Bertolomych пишет:
Вот, собственно мой вопрос к вам, Мэтры!
.. и килоМэтры..
По теме - наверное это больше к теоретизации процесса создания самого кода. Чтобы что-то было стройным, нужно сначала все продумать - сделать планы бизнес-логики, вытекающие из них требования к функционалу и детальные схемы (вроде UML для БД)
Для этого, помимо прочего, и опыт нужен. А судя по тому, что Вы упоминаете "заплатки" - это проблема, вызываемая неправильным планированием - в него не было заложено масштабирования. Профессионалы, как правило, предвидят большинство возможных изменений и выстраивают код как цепочку логически взаимосвязных сущностей так, чтобы потом ее было удобно и просто расширять под эти нужды.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Bertolomych
Отправлено: 13 Сентября, 2010 - 00:55:27
Новичок
Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
movEAX! Спасибо, будем читать.
EuGen, да-да. Уже повесил предупреждение.
Так Вы считаете, что все просто придет с опытом?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.