Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (4) 1 [2] 3 4  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Как правильно делать commit ?
clocwerk  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 36
Пользователь №: 41868
На форуме: 1 год, 2 месяца, 8 дней
Карма: 1




Цитата
и да, twin на сколько помню пропагандирует Императивное

Цитата
Таки да, я ничего про процедурное не писал. Я за мультипарадигму.

Сори, совсем не правильно вас понял. Почему то всегда считал что если не ООП то значит процедуры.

А так в целом огромное спасибо bestxp и twin все по полочкам разложили, теперь многое стало понятно. Хотя многое стало еще более непонятным smile.gif
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 231
Пользователь №: 26735
На форуме: 5 лет, 8 месяцев, 24 дня
Карма: 15




Цитата (clocwerk @ 6.11.2015 - 06:04)

Не знаю как вам, вы наверно уже знаете о php все, но лично мне интересно узнать как можно писать в процедурном стиле сложные проекты.

Херово писать.

Цитата (clocwerk @ 6.11.2015 - 06:04)

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

Эту хорошо спроектированную систему переписывали полностью. И всё равно фейл.

Крупный бизнес это очень часто код плохого качества. Таковы реалии бизнеса. Его в первую очередь интересуют новые фичи, новые посетители, новые деньги, а архитектура там на последнем месте. Ибо пока думаешь над архитектурой и пишешь качественный код, конкурент со своим говнокодом выйдет на рынок и уже начнет зарабатывать деньги, строчить фичи одна за другой, по 10 за день. Его просто будет не догнать на короткой дистанции.

Вот можешь почитать опыт других. Что делать, если от программирования уже подташнивает?
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Тут как посмотреть. И что считать говнокодом.

Принято считать говнокодом то, что не отвечает паттернам и вообще избегает проектирования. Однако есть и другая точка зрения, и другие подходы к планированию. Когда размывается грань между предварительным и эволюционным проектированием. Находится золотая середина, отвечающая текущим потребностям.

Так вот, те, кто придерживатся первых канонов (планирование, продуманная до мелочей архитектура, паттерны и прочие изыски), больше склонны к нарцисызму, нежели к реалиям. Они пишут код фактически для себя, а не для конечной цели.

Конечная цель любого кода - он должен работать. И работать должен хорошо. Особенно если это коммерческий продукт.

Конечный продукт должен быть оптимальным, быстрым, с низким потреблением ресурсов. Он должен приносить прибыль, а не демонстрировать навыки программиста в плане "смотрите, как я умею".

А цель "планировщиков", это свести на минимум будующий рефакторинг. Они стремятся написать "идельный" код, который будет работать всегда и без внешнего вмешательства. Поэтому у них зашкаливает абстракционизм, оптимальность кладется на алтарь полиморфизма, часто применяется "мягкое программирование", когда изменение поведений достигается не рефакторингом, а настройками. Все это больно бъет по производительности.

Не понятно при этом, зачем потом нужен программист, если код построен так, что с ним больше ничего не нужно делать...

И почему то почти всегда ООП связывают с "предварительным проектированием". А раз для него не придумано ничего, кроме объектов, то и без паттернов тут обойтись никак нельзя.

Вообще любопытно еще другое. Почему то на форумах обычно присутствует два контингента программистов. Начинающие (неопределившиеся), и те, кто свято придерживается канонов ООП. Те, кто определился и выбрал другой путь (то же XP), обычно с форумов пропадают.

Скорее всего потому что вопросов у них больше нет, а отвечать в ключе "паттерны - это плохо" себе дороже, чревато холиварами и снижением рейтингов. Другими словами - адепты заклюют и объявят говнокодером. Да и сама методология не предусматривает никаких рамок, так что и объяснять то и нечего. Нужно писать так, чтобы хорошо работало, а не так, чтобы ткнув в любое место, мы попали в какой-нибудь паттерн.

Вот Santehnick дал ссылку на одного из ярких представителей "классицизма". Начитавшись в детстве Зандстры, он видит во всем, что "не по науке" говнокод. Сам не понимая того, что сей продукт кормит не только владельца, но и его, как программиста. Да, непривычно ему, потому и тяжело кажется. А мозги на что?

Я могу другую ссылку дать. Почитайте, весьма любопытно. Кто слаб в английском, есть неплохой русский перевод. Это Фаулер кстати. Автор многих трактатов по ООП. Так вот он советует не только не бояться рефаторинга, но и видит в нем несомненную пользу. А рефакотринг, это враг предварительного проектирования. Ибо может свести на нет все эти заумные UML диаграммы, взаимосвязи и "стройность" архитектуры, с таким трудом выпестованной и лелеемой "проектировщиками".


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 8 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


18+
user posted image


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Цитата (Santehnick @ 8.11.2015 - 05:13)
Вот можешь почитать опыт других. Что делать, если от программирования уже подташнивает?

Интересно! Спасибо Santehnick эта статья мне очень понравилась. Комментарии только немного смутили. Неужели знание паттернов может обеспечить зароботок выше 80к в месяц? Может быть я уже слишком давно во фрилансе и отстал от жизни... Но разве 80к это не хорошая зарплата для толкового программиста?

twin, а у тебя с английским как, хорошо? Помнится я где-то выкладывал ссылочку на длинный английский ролик. Там Роберт Мартин кое-что говорит по поводу качества кода, паттернов и вообще ООП. Ты с ним, получается, не согласен?

Invis1ble, жжош! )))



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (Ron @ 8.11.2015 - 06:14)
twin, а у тебя с английским как, хорошо?

C техническим норм. А вообще не очень, особенно на слух. Практики нет. Только за границей, где я бываю не так часто, немного подтягивается. Ролик... не помню.

Я знаю одно точно. "Качественным" считается такой код, который читается сходу. Сиречь "привычный". Если алгоритм хоть немного отступает от общепринятых правил, у многих программистов это вызывает батхерт, так как нужно напрягать извилины. И он тут же объявляется говнокодом. Им плевать, что такой алгоритм может быть гораздо оптимальнее.

Помнится тут был спор, как лучше разбирать массив. Циклом или встроенными функциями. Нативными функциями оказалось в два раза быстрее. Но аргумент противников был - читабельность. Мол с циклом сразу видно, что делает код. А функции знают не все.

Вот примерно тоже самое и с "качественным" кодом. Если он построен не по общепринятым паттернам, значит нужно разбирать логику. Это сложнее, это требует знаний. А с паттернами легко. Вот обсервер, вот реестр, вот абстракная фабрика, вот DI. Никаких велосипедов. А на то, что это пишется не для сервера, а для минимизации умственных усилий - наплевать. Ведь железо дешевле программиста. smile.gif

Скоро программист вообще ничего не будет стоить. Все по шаблону. Два клика и сайт работает. Долго, нудно, с падением серверов, но зато думать не надо. smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14962
Пользователь №: 4190
На форуме: 8 лет, 9 месяцев, 25 дней
Карма: 443




Цитата (twin @ 8.11.2015 - 09:30)
Те, кто определился и выбрал другой путь (то же XP), обычно с форумов пропадают.

Прочитал про это "экстремальное программирование" и понял, что я сейчас, в офисе, именно им и занимаюсь. Всё, что описано в "Основных приемах XP", у нас работает на 100% - прямо как наша команда описана. И кстати, без ООП в его всеобъемлющем виде wink.gif Правда, это работа с JS.
Такая разработка, по опыту, позволяет совместно работать людям разного уровня. Просто те, кто послабее, дольше работают над своей задачей. При этом их разработка никак не влияет (не тормозит) разработку у других программистов.

Вообще говоря, этот самый XP приводит к тому, что разработка длится не очень быстро. Но зато качественно. Архитектор проекта - грамотный мужик, не дает использовать "левые" решения. Только так, "как положено" smile.gif Хотя иногда на поиск правильного решения может уйти некоторое время, а "левая" технология позволяет получить решение сразу же. Но в итоге затраты времени "сейчас" приводят к тому, что код получается стройный и не приходится тратить время "потом".

PS. git и локальная версия github на внутреннем сервере компании очень даже способствуют такой разработке.

Это сообщение отредактировал sergeiss - 8.11.2015 - 12:01


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Цитата (twin @ 8.11.2015 - 10:55)
И он тут же объявляется говнокодом. Им плевать, что такой алгоритм может быть гораздо оптимальнее.

Нет, ну говнокод он и есть говнокод. В моем понимании дело не в оптимальности а в структурировании. Например код без MVC уже говно, какие бы алгоритмы там не использовались. Потому что он меня будет очень сильно тормозить при его изучении. Сильносвязанный код тоже говно какие бы алгоримты в нем не использовались. Я исправляю в одном месте что-то, и вдруг функция совершенно не относящаяся к делу перестает работать. Из-за чего мне нужно работать с кодом всего проекта, а не отдельным кусочком. Смотреть какие безумные флаги что взводит, где они потом используются. Глобальные переменные и прочие радости. Вот это всё - симптомы говнокода. Хотя алгоритмически реализация может быть на 5+.

Цитата (twin @ 8.11.2015 - 10:55)
Вот обсервер, вот реестр, вот абстракная фабрика, вот DI. Никаких велосипедов.

Так это всего лишь именованные алгоритмы. Точно так же как метод пузырька. К паттерну "одиночка" я сам пришел и даже не подозревал что он так называется. Они могут быть очень говняно реализованны и толку тогда от них мало. Но я хоть буду понимать, если вижу навозец, а мне говорят что это "фабрика", то буду знать под каким углом на него смотреть.

Цитата (twin @ 8.11.2015 - 10:55)
А на то, что это пишется не для сервера, а для минимизации умственных усилий - наплевать. Ведь железо дешевле программиста.

Ну это факт. И гораздо выгоднее оплатить аренду хостинга чуть дороже, но производительнее, чем переплачивать программисту за время пока он продерется через жутчайший сильносвязанный (хоть и оптимальный) проект.

Цитата (twin @ 8.11.2015 - 10:55)
Скоро программист вообще ничего не будет стоить. Все по шаблону. Два клика и сайт работает. Долго, нудно, с падением серверов, но зато думать не надо.

А ведь есть уже такое. Вордпрессы, джумлы, опенкарты. Тем не менее спрос на программистов не упал слишком уж резко. На хостинге BlueHost популярные CMS разворачиваются именно за два клика. Из панели управления.


--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (Ron @ 8.11.2015 - 18:02)
Например код без MVC уже говно, какие бы алгоритмы там не использовались

Вот о чем я и говорил. Если ты не знаешь, что кроме MVC есть еще HMVC, MVP, MVVM, MOVE и куча других паттернов, то значит они все - говнокод. По сути ты своё невежество в этом вопросе в агресивной форме пытаешься выставить виной тем, кто не использует этот набивший оскомину шаблон. Раз используется незнакомая технология, значит говнокод. biggrin.gif
Цитата (Ron @ 8.11.2015 - 18:02)
Потому что он меня будет очень сильно тормозить при его изучении.
Разумеется. Об этом я тоже писал. Если требует хоть немного умственных усилий, значит говнокод. smile.gif Прямо огромные ослинные уши батхерта торчат из такого заявления.
Цитата
Сильносвязанный код тоже говно какие бы алгоримты в нем не использовались. Я исправляю в одном месте что-то, и вдруг функция совершенно не относящаяся к делу перестает работать.

Естественно. Но почему то при этом жутко порицается повторение кода. А тут либо трусы, либо крестик. Для того, чтобы усидеть на двух стульях, нужна огромная задница. Если пишешь слабосвязанный проект, но используешь функционал "один ко многим", то приходится изворачиваться ужем. Что в итоге делает систему сложной, запутанной и трудноуправляемой, не смотря на обилие моков, шмоков и подробных комментариев.
Но такое усложнение не принято называть говнокодом. Его принято называть "правильной архитектурой".

Хотя к архитектуре это не имеет никакого отношения. Архитектура, это функциональность в первую очередь. Если архитектор здания сделает туалет не на каждом этаже, а поместит его в лифт и будет "внедрять" по мере надобности, то это повлечет за собой перерасход электричества, усложноит донельзя коммуникации, затормозит процесс акта дефикации. И пользователи такой архитектуры могут тупо обосраться. Но зато можно очень удобно пригнать его на этаж обслуживания и протестировать. smile.gif Так что же считать говнокодом... Вопрос.
Цитата (Ron @ 8.11.2015 - 18:02)
Глобальные переменные и прочие радости.

Всему есть свое применение. Я не удивлюсь, что можно найти вариант рационального использования GOTO. По крайней мере на ексепшены никто стойку не делает, хотя механизм схож. Но если этого не знаешь, то на все, включая собачку, принято реагировать, как на команду "голос!". Увидел trigger_error - тяф! Увидел собачку - Гав! Гов! Говнокод!
Потому что разобраться в вопросе сложнее, чем вызубрить полтора десятка паттернов. И почувствовать себя богом программирования.
Цитата (Ron @ 8.11.2015 - 18:02)
Ну это факт. И гораздо выгоднее оплатить аренду хостинга чуть дороже, но производительнее, чем переплачивать программисту за время пока он продерется через жутчайший сильносвязанный (хоть и оптимальный) проект.
Гнать такого программиста ссаными тряпками. Если ты не умеешь читать чужой код, ты вообще не умеешь читать код. Ибо он на 99% чужой. Паттерны в нем или шматтерны - не важно.

Программист по определению устроен так, что "я сделал бы лучше". Вон chee полез доктрину ковырять. Не устраивает она его. Это похвально, это признак мастерства. Такой специалист ценен, соответственно и оплачиваться должен выше, нежели простой пользователь, который понятия не имеет, как оно устроено, но на каждый самописный чих кричит - говнокод. Адекватные работодатели это понимают, и готовы платить больше, чтобы их продукт был конкурентоспособен.
Цитата (Ron @ 8.11.2015 - 18:02)
А ведь есть уже такое. Вордпрессы, джумлы, опенкарты. Тем не менее спрос на программистов не упал слишком уж резко.
Всё верно. Вот только написаны они не для программистов и не для сервера. А для тех, кто привык платить дважды.

Недавно мой напарник (не программист) развернул на нашем общем шареде вордпресс. И буквально через неделю пришлось покупать пермиум-аккаунт. Копейки вроде, но очень показательно. Потому что используется максимум десятая часть функционала, а уже потребовалась доплата. А за несколько лет набежит приличная сумма, не сопоставимая с той, что он заплатил бы за пару дней работы программиста. Я конечно перепишу эту ересь попозже, но не у всех есть такая возможность. И люди годами терпят убытки, потому что повелись на халяву и поставили "в два клика".

Особенно быстро прозрение наступает, если вдруг появляется посещаемость. И тут все эти "правильные архитектуры" вылазят боком.

Правильно сказал Santehnick. Пока вы любуетесь на свой "качественный код", конкуренты с их "говнокодом" уже деньги зарабатывают.

Так что вопрос еще, что говнокодом считать. С какой стороны посмотреть...


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Цитата (twin @ 9.11.2015 - 05:19)
Если ты не знаешь, что кроме MVC есть еще HMVC, MVP, MVVM, MOVE и куча других паттернов, то значит они все - говнокод.

Да какая разница какой именно подход структурирования используется? Главное чтобы он был. Потому что иначе это говнокод. Хотя с алгоритмикой может быть все в порядке! Ковырял недавно проект один, где и HTML и SQL и вообще все лежит в одной куче (навоза). Я в этой куче, разумеется, разобрался, но времени это у меня заняло на порядок больше, чем в случае с MVC. И раз в 5 дольше, чем изучить, к примеру, MVP + осознать код.

Цитата (twin @ 9.11.2015 - 05:19)
Гнать такого программиста ссаными тряпками. Если ты не умеешь читать чужой код, ты вообще не умеешь читать код. Ибо он на 99% чужой. Паттерны в нем или шматтерны - не важно.

Вопрос в неумении, в а КПД. Невозможно быстро читать говнокод. Просто не получится. Ни у кого, даже у мега-эксперта.

Цитата (twin @ 9.11.2015 - 05:19)
Вон chee полез доктрину ковырять. Не устраивает она его. Это похвально, это признак мастерства.

Объяснил бы кто-нибудь из мастеров нафига она вообще нужна, доктрина эта. Если на ней не выполнить сложных запросов. SQL предоставляет изумительные возможности делать интересные, эффективные и изящные запросы. Зачем мне доктрина, которая лишит меня удоовольствия работы с СуБД?

Цитата (twin @ 9.11.2015 - 05:19)
Всё верно. Вот только написаны они не для программистов и не для сервера. А для тех, кто привык платить дважды.

Да ладно, я сам использую WP, причем очень успешно на VPS-ке за 300 рублей. И помимо WP на ней еще крутится 3 проекта, но надо сказать написанных с нуля под максимальную производительность. And guess what? Сервер не загружен даже на четверть. Просто под WP есть модуль кэширования - supercache, который превращает эту отвратительную по ресурсам штуку в нечто более или менее удовлетворительное.

Цитата (twin @ 9.11.2015 - 05:19)
Особенно быстро прозрение наступает, если вдруг появляется посещаемость. И тут все эти "правильные архитектуры" вылазят боком.

Ну какая посещаемость "вдруг" появится? 2-3 запроса в секунду? Даже WP справится на дешевейшем VPS. Уже можно отбить этот хостинг на рекламе в 10-ти кратном объеме, а то и больше. Итого времени программиста на разворачивание проекта - 0 минут.

Я не хвалю WP, барахло это. Но глючная и тормозная система в 2 клика уже есть. С которой можно получать прибыль теоретически, даже весьма неплохую, принимая во внимание стартовые расходы. Тем не менее революции не произошло, вот что самое интересное. Хотя должна была.

Цитата (twin @ 9.11.2015 - 05:19)

Так что вопрос еще, что говнокодом считать. С какой стороны посмотреть...

Говнокод это нечто, которое не оправдывает расходов на его поддержку. Именно с технической стороны, при условии что проект конкурентноспособен. Если уж совсем абстрактно.



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (Ron @ 9.11.2015 - 03:19)
Да какая разница какой именно подход структурирования используется? Главное чтобы он был. Потому что иначе это говнокод.

А если это новый паттерн, только что родившийся в голове предыдущего разраба? У любого скрипта есть структура. Даже если они каждый в своем файле. Просто тебе это непривычно, значит уже говнокод.

Говнокод, это тогда, когда используются не подобающие месту инструменты и алгоритмы, когда код семантически (а то и синтаксически) неверен, когда используются тяжелые и избыточные алгоритмы вместо простых и легких. Вот это говнокод:
Цитата
    if (!preg_match('/^(?!(?sad.gif?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?sad.gif?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?sad.gif?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?sad.gif?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?sad.gif?sad.gif?!.*[^.]{64,})(?sad.gif?sad.gif?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?sad.gif?:[a-z][a-z0-9]*)|(?sad.gif?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?sad.gif?:IPv6:(?sad.gif?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?sad.gif?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?:sad.gif?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?sad.gif?:IPv6:(?sad.gif?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}smile.gif|(?sad.gif?!(?:.*[a-f0-9]smile.gif{5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?:sad.gif?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}smile.gif?)))?(?sad.gif?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?sad.gif?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/iD')) {
       echo 'E-mail is invalid';
    }

Даже смайлики правильные вылезли biggrin.gif

Потому что давно изобрели filter_var()

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

Цитата (Ron @ 9.11.2015 - 03:19)
Вопрос в неумении, в а КПД. Невозможно быстро читать говнокод. Просто не получится. Ни у кого, даже у мега-эксперта.
А не нужно быстро читать. Быстро только кошки родятся. Нужно чтобы быстро работал сервер. Если это не так, да. Сие - говнокод. Но у меня очень большие сомнения по поводу того "мастера", который написал слезную статью, приведенную как аргумент Santehnick. Две(!), как он пишет, очень немаленькие(!) конторы, не пользуются привычными ему паттернами. А соответственно они - говнокодеры. Может стоит задать вопрос самому себе - а почему так? Наверняка есть разумное и логичное объяснение. Просто оно не вписывается в заскорузлый "бест пркатиксами" мозг писавшего.
Цитата (Ron @ 9.11.2015 - 03:19)
Зачем мне доктрина, которая лишит меня удоовольствия работы с СуБД?
Тише, тише... А то неровен час и тебя в говнокодеры запишут. Как так, запросы руками писать! Моветон.
Цитата (Ron @ 9.11.2015 - 03:19)
Просто под WP есть модуль кэширования - supercache, который превращает эту отвратительную по ресурсам штуку в нечто более или менее удовлетворительное.
Вот всегда так с "качественным кодом". Сначала воротим кучу-вонючу скриптов, оправдывая это какими то паттернами, потом вынуждены изобретать и применять акселераторы, кэширование и прочее дерьмо, чтобы хоть как то вернуть работоспособность в разумные рамки. Вот это и есть говнокод в самом ярком его проявлении.
Цитата
Ну какая посещаемость "вдруг" появится? 2-3 запроса в секунду?
Это фигня естественно. Посещаемость, это другое. И еще, ты про хабра-эффект слышал?
Цитата (Ron @ 9.11.2015 - 03:19)
Говнокод это нечто, которое не оправдывает расходов на его поддержку.
По сути да, но тут момент. Смотря какая поддержка нужна. Если рефаторинг каждый день, как у меня на работе, то тогда вся "красота" кода сведется на нет уже через месяц. Проект просто зарастет костылями. А если архитектуру строить "не по науке", то конечно это прослывет говнокодом. Допустим тостые контроллеры, почти отсутствующие модели, повторяемость кода, слабая связанность на уровне минимизации зависимостей... Все это вызывает у "тру" программистов желание блевать. Их видите ли "подташнивает". Но при этом можно спокойно ковырять модуль сколько угодно, можно на 100% его переписать, ни на чем это не скажется и не отразится. А этим, повторю, мы занимаемся практически ежедневно. И юнит-тесты тут не нужны особо, ибо протестировать отдельный модуль можно функциональными тестами.

Это оправдано в определенных условиях. Но я уверен, что если ты откроешь любой мой скрипт, тут же закричишь громко - ГОВНОКОД! Потому что не так, как ты привык.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Цитата (twin @ 9.11.2015 - 08:23)
Может стоит задать вопрос самому себе - а почему так?

А я не знаю, почему так... Почему на собеседованиях задают идиотские вопросы. И почему мыслящие люди ценятся значительно меньше чем кодо-обезьянки. Я вообще не понимаю систему оценки соискателей большинства фирм. Но раз гоняют по информации, которая гуглится за 1 секунду, значит у них основная задача кодить как можно быстрее. А быстро, правильно, только кошки родятся. Но это в природе. У программиста рождается, к сожалению, говнокод. Невозможно быстро создавать качественный проект. Точно так же как невозможно быстро потом его поддерживать. По поводу статьи про того бедолагу мастера у меня нет никаких сомнений. Вот именно так всё и обстоит почти везде.

Цитата (twin @ 9.11.2015 - 08:23)
Тише, тише... А то неровен час и тебя в говнокодеры запишут. Как так, запросы руками писать! Моветон.

Да пускай, меня это не колышит. =)) Я здесь не на собеседовании. wink.gif Пока что никто не смог объяснить для чего это нужно. Для чего ООП и базовые паттерны хорошо рассказал Роберт Мартин. А вот доктрина за каким жезлом - вопрос так и остается открытым. Удобство? Нет... Производительность? Трижды нет...

Цитата (twin @ 9.11.2015 - 08:23)
Это фигня естественно. Посещаемость, это другое. И еще, ты про хабра-эффект слышал?

Этот эффект не возьмется из ниоткуда. Ему обязательно будет предшествовать стойкое нарастание посещаемости. И если человек хоть немного в адеквате, то уже после 200-300 посетителей в день, выкинет этот WP к чертовой матери. Я бы так сделал по крайней мере. Он свою ступень отработал. Почти бесплатно предоставил возможность опробовать свои силы и идеи на просторах интернета.

Кстати, на меня появилсь не так давно ссылка из тостера. Никакого эффекта, вообще ничего. Так что еще смотря в какую тему попадешь. Добиться хабраэффекта на пустом месте совершенно невозможно, я в этом глубоко убежден.

Цитата (twin @ 9.11.2015 - 08:23)
Но я уверен, что если ты откроешь любой мой скрипт, тут же закричишь громко - ГОВНОКОД! Потому что не так, как ты привык.

Ну почему я открываю фреймворк и мне не хочется закричать, что это говнокод? Хотя он для меня абсолютно непривычен. Я первый раз когда-то открыл проект на архитектуре MVC и не закричал что это говнокод. Хотя раньше делал как раз "каждый скрипт в отдельном файле". Даже правильнее сказать: каждая "ссылка". Никакого роутера - ничего. И тем не менее я понял, что код, который я вижу - лучше. Насколько лучше по началу непонятно, типа, код хороший но и мой неплохой. Меня теперь уже не заставить кодить как раньше (без MVC на файлах, без роутера). Ни за какие вменяемые деньги.

Или вот мой постепенно возрастающий интерес к популярным фреймворкам. Дело не в веяньях моды или требованиях работодателей, совершенно.

Какой смысл экономить машинное время? Вот я снимаю VPS за 5$ и у меня сервер в идле на 90%. Ну ок, круто. С меня все-равно спишут эту пятерку, всем пофиг. Только вместо того, чтобы скрупулезно разрабатывать 3 проекта, которые ничего не жрут, я лучше бы наговнякал 10. И пусть сервер загрузился бы под завязку. Все проекты все-равно не выстрелят, дай бог из 10-ти парочка, ито если крупно повезет. Остальное на выброс. Какой смысл на них время тратить?

День работы программиста стОит как месяц аренды хорошего сервера.



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев
Карма: 70




twin
Цитата
Если архитектор здания сделает туалет не на каждом этаже, а поместит его в лифт и будет "внедрять" по мере надобности, то это повлечет за собой перерасход электричества, усложноит донельзя коммуникации, затормозит процесс акта дефикации. И пользователи такой архитектуры могут тупо обосраться. Но зато можно очень удобно пригнать его на этаж обслуживания и протестировать.  smile.gif Так что же считать говнокодом... Вопрос.


laugh.gif


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (Ron @ 9.11.2015 - 06:05)
День работы программиста стОит как месяц аренды хорошего сервера.

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

Хороший программист должен делать хороший продукт. Хороший продукт должен работать хорошо. За хорошо работающий продукт нужно платить хорошие деньги. Это правильная и железная логика.

Если человек хочет быстро и недорого покушать, он идет в Макдональдс. Соответственно получает язву, отрыжку и тучный вид.

Если он хочет хорошей кухни - идет в Метрополь. И готов платить за это деньги.

Макдональдс в данном случае - фриланс. Там все должно быть по шаблонам. Потому что в любой момент можно сменить персонал, ничего страшного не произойдет. Придет другой программист и все ему знакомо.

Хорошие сайты на фрилансе не делаются и не поддерживаются. Это авторская кухня. И там шаблоны не только не обязательны, но и вредны зачастую. Там первична работоспособность кода.

Так что еще раз повторю. Большой вопрос - что считать говнокодом. Штамповку "как у всех" с последующим несварением желудка, или индивидуальный подход к решению задач, требующий от программиста больших усилий, нежели изучение общепринятых паттернов.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев
Карма: 70




twin
Метрополь это ресторан такой? Где он находится? Вкусный что ли?)


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (4) 1 [2] 3 4  Ответ в темуСоздание новой темыСоздание опроса