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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Как перестать быть быдлокодером?..
Bertolomych
Отправлено: 02 Сентября, 2010 - 22:50:22
Post Id



Новичок


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


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




Долго ли, коротко ли, прочитав несколько десятков книжек и статей про php и JS, я более-менее научился создавать сайты. Не удержусь и сошлюсь на мое последнее творение: http://scilance[dot]com . Тоже все-таки не персональная страничка, web 2.0 с применением AJAX и все такое.
Но! Как был я быдлокодером, так и остался. Недовольство, огорчение Посмотреть на код профи приятно - например на код фреймворка (я пользовался CodeIgniter) - он напоминает аккуратную кирпичную кладку стены дома в маленьком альпийском городке. Мой же код напоминает приведенную ниже картинку. И речь идет не о том, чтобы соблюдать отступы и правильно расставлять скобки, одинаково расставлять горбы в названиях переменных и классов. Этому я более-менее научился. Речь об общей логике написания программ.
Профи пишут их как будто руководствуясь точным, рассчитанным до мелочей планом какого-то более глубокого уровня, нежели та самая блок схема работы программы, с которой рекомендуют начинать проект в самых продвинутых учебниках по программированию (о них ниже). Я сделал диаграмму! Я ей следовал! Но мой код все равно похож на лоскутное одеяло. Он состоит из сплошных затычек, заплаток и дыр.
Мне не хватает каких-то самых фундаментальных знаний о программировании.. Но где их взять? Все книжки, да и статьи, по программированию описывают синатксис, функции, ну.. некторые приемы.. Но как это все слить воедино? Я знаю что такое рекурсия! Но, ёлки-палки! Я никак не могу врубиться, куда же ее засунуть?
Или вот пример: работа над ошибками. Никак не могу понять, как профи это делают. В том же CI чуть не большинство функций вообще ничего не возвращают кроме кода ошибки. Как так?!? А для чего вообще нужны эти функции? Но ведь работает же, зараза! И как! Для меня это тайна за семью печатями...
А как научиться? Что читать? В чем секрет? Вот, собственно мой вопрос к вам, Мэтры!
Прикреплено изображение (Нажмите для увеличения)
1.jpeg

(Отредактировано автором: 02 Сентября, 2010 - 22:52:14)

 
 Top
SAD
Отправлено: 02 Сентября, 2010 - 23:08:35
Post Id



Постоянный участник


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


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




А это что такое? Почему так некрасиво налазит меню на текст?
Прикреплено изображение
Безымянный.bmp
 
 Top
cHameleon
Отправлено: 02 Сентября, 2010 - 23:10:34
Post Id



Гость


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


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




А у меня не налазит) у меня в ff скрипты запрещены)


-----
берём notepad++ и творим пэхэпэ-мир
 
 Top
Bertolomych
Отправлено: 02 Сентября, 2010 - 23:16:54
Post Id



Новичок


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


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




SAD пишет:
А это что такое? Почему так некрасиво налазит меню на текст?


оуч. Спасибо. Это я нововведение ввел - убрал скроллбар. и забыл протестить в IE...
(Добавление)

З.Ы. Но это к делу не относится, это ж вообще CSS. Улыбка
cHameleon пишет:
А у меня не налазит) у меня в ff скрипты запрещены)


ну, скрипты, если верить статистике w3c отключают около 4% пользователей.. можно их не учитывать особо.. На первых порах, по крайней мере.
(Добавление)

(Отредактировано автором: 02 Сентября, 2010 - 23:22:30)

 
 Top
SAD
Отправлено: 02 Сентября, 2010 - 23:51:25
Post Id



Постоянный участник


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


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




это у меня в ff
 
 Top
Viper
Отправлено: 03 Сентября, 2010 - 08:34:22
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Bertolomych разрабы игнитера руководствовались правилами написания кода MVC. MVC не ново, но на наши просторы к простым программистам доходить начало только недавно. Также очень важно знать и понимать ООП какое оно в php5, тогда без труда поймете логику MVC и у вас не будет затычек Улыбка + учитывайте так же что в любой сложной системе могут отойти от стандартных методов MVC и использовать свои, а вы потом смотрите на код онимаете его, но без описания api самой системы мало что сможете сделать(яркий пример joomla 1.5).


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Bertolomych
Отправлено: 03 Сентября, 2010 - 12:22:25
Post Id



Новичок


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


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




Viper, Спасибо! Но речь немного не о том.. С MVC я вродь знаком и ею именно и пользовался. Знаком и с ООП (не на 5+, но в целом понимаю, спасибо, кстати этому форуму во многом).
Суть вопроса в том, есть ли какая-нибудь книжка (или сайт какой-нибудь), по которой можно было бы изучить общую логику программирования как такового, а не какой-то конкретный язык? И, опять же, не какой-то конкретный подход, типа того же MVC.
Один мой знакомец учится на программиста в университете. У них там есть отдельный предмет "программирование". Не "программирование на С", а просто "программирование". И они там разбирают всякие типовые задачи, "как вообще писать программы", ту же рекурсию. Но я что-то не видел записей этих лекций (а даже если бы и увидел - они все равно на немецком, он в германии учится). Но наверняка есть же чего-нибудь в этом духе и на русском. Если бы я хотя бы знал, как такие книжки должны называться...
 
 Top
movEAX
Отправлено: 04 Сентября, 2010 - 00:01:57
Post Id



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


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


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




"Чистый код" ( Роберт Мартин ), томики Кнута, "Технология разработки ПО" (Брауде), "Инжинерия ПО"(Соммервилл), "ОО анализ и проектирование" (Грэди Буч) - не знаю что еще посоветовать.. разве что по алгоритмизации книжку еще какую-нибудь.


-----
армия.. самое убогое место
 
 Top
EuGen Администратор
Отправлено: 04 Сентября, 2010 - 12:50:24
Post Id


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


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


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




А у меня NoScript. И он все недоверенное блокирует. Неплохо бы проверять, включен ли JS у клиента и, если нет, а функционал без него ну никак нельзя сделать - сообщить что ли об этом (как, например, на рамблере это сделано).
Bertolomych пишет:
Вот, собственно мой вопрос к вам, Мэтры!

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


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Bertolomych
Отправлено: 13 Сентября, 2010 - 00:55:27
Post Id



Новичок


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


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




movEAX! Спасибо, будем читать.


EuGen, да-да. Уже повесил предупреждение.
Так Вы считаете, что все просто придет с опытом?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB