[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как я стал программистом
Страницы: 1, 2
Игорь_Vasinsky
то странное чувство, когда читаешь на форуме программистов, поучительные предложения от пользователя с ником сантехник

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
twin
Цитата (Santehnick @ 6.04.2016 - 03:10)
Это на твой взгляд. А на взгляд разработчиков php логичнее использовать то, что уже ранее использовалось в других языках программирования.

Значит ошибся тот, кто придумал это первым. biggrin.gif

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

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

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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (Santehnick @ 6.04.2016 - 03:10)
То есть тоже ничего придумывать не нужно, нужно просто нормально реализовать уже описанный кем-то протокол. Так что твои наезды по поводу шаблонов и рамок в ооп непонятны. Все должно быть стандартизировано.

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

Отличие их в менталитете. Одни гуманитарии, другие технари.

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

Гуманитариям присущ творческий подход. Они не боятся ошибок и пробуют новые, нестандарные решения. Их путь тернист, их обвиняют в bad-practics, они чаще ошибаются, но жизнь их не так скучна и однообразна. И они в большинстве случаев являются двигателями прогресса. Именно они пишут эти протоколы. smile.gif

В холиварах обычно одни спорят с другими.

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

Кто вы по этой градации - решать вам. Все зависит от поставленных в жизни целей, и от свойств характера. Главное быть в гармонии с самим собой.

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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (Santehnick @ 6.04.2016 - 03:10)
Я говорю программисту, что он должен написать для меня сервер, который реализует FTP протокол и всё, мы поняли друг друга буквально с полуслова. Он идет читать ftp протокол, прежде чем начинать что-то программировать.

Я не говорил, что стандарты, это плохо. Я говорил, и продолжаю говорить, что ООП это не стандарт. А как раз наоборот - разброд и шатания. А чтобы шатало по не слишком большой амплитуде, каждый устанавливает для себя рамки, называемые паттернами. Чужие рамки объявляются антипаттерном.

Вот опять chee к примеру (ты прости, но уж больно показательно). Он использует практически один тип DI - Property Injection (через свойства). А многие считают это антипаттерном. Ровно как и сервис-локатор.

Я не говорю, что он делает неверно. Он установил для себя удобные ему правила. И считает это каноничным. Это имеет право на жизнь и достойно уважения. Но вот если с его кодом начнет работать программист с другими взглядами, то он начнет плеваться и говорить - отвратительно! По этому о каких стандартах, и о каких полусловах ты говоришь, я не понял. Тут можно говорить только про рамки. smile.gif

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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
casper - gg
Цитата (Santehnick @ 6.04.2016 - 07:10)
мы поняли друг друга буквально с полуслова

опасная весчь эти полуслова (и в программировании, как и во всем остальном), - все что не досказано, то каждый додумает сам, кто на что гаразд. И потом, - хотели как лучше, а получилось как всегда laugh.gif
twin
Цитата (Santehnick @ 6.04.2016 - 12:29)
Но там есть правила и принципы, которых советуют придерживаться и вполне доходчиво объясняется почему это стоит делать.

Нет там ни правил ни принципов по большому счету. Ни кто не может ответить однозначно, что такое ООП. Просто методология построения программ на объектах. И всё.

Ну если только рамки посчитать за принципы. Я писал уже об этом. Не буду повторяться.

Цитата
Соответственно, код следует писать так, чтобы он максимально соответствовал тому, о чем сказано в grasp. А какие конкретно решения для этого будут использоваться уже не столь важно.
Почему именно GRASP? Других схем в ООП вообще не cуществует?

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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (Santehnick @ 6.04.2016 - 15:11)
Существует. Спагетти код называется.

Это не альтернатива) Это антипод. Я серьёзно спрашивал. Я просто когда фреймворк писал по вашим правилам, встречал мнения приверженцев экстремального программирования. Они вообще считают само применение паттернов антипаттерном. Не вдавался в подробности, мне оно без надобности. Но ведь наверняка и у них есть свои принципы.

Я не думаю, что Фаулер или Грэм пишут спагетти-код.

Вообще если внимательно посмотреть на тот же GRASP, то особо ничего полезного в нем нет. Вернее не так. Это полезно для тех, кто боится мыслить самостоятельно. Читай выше про менталитеты. Более-менее разумный человек не нуждается в таких рамках и путеводителях. Принципы проектирования должны соотноситься со здравым смыслом, и только. А GRASP, это общие рекомендации, сборник и обобщение этого здравого смысла.

И кстати, многие принципы применимы не только к ООП. Да и к ООП можно применять их либо не полностью, либо дополнив своими. Что и делают экспишники. Так что это тоже не стандарт, это даже не цельный набор. Это сборник советов, как решить возникшую проблему. А она может и вовсе не возникнуть.

Конечно, тот код, что ты привел в пример - за гранью понимания. Вообще не понятно, какой трудовой понос прохватил автора, что он не поленился написать столько кода в один файл. Зачем тут GRASP вообще, если даже просто скролить палец устает. smile.gif Тут элементарно нужна голова, не более.

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

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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Arh
twin
Цитата
Так и не видно четких правил и принципов построения программ, которые можно назвать "истинным ООП".

В принципе и есть и можно, только тут один нюанс - на вкус и цвет товарища нет.
Потому что приложение строится с применением каких то подходов, одним нравятся одни подходы, другим другие, всем не угодишь.
Один хочет седан с коробкой автомат (DIC), другой хочет велик с алюминиевой рамой (SL).
Вот и обсирают друг друга, ездил по трассе москва-питер?
Фуры ненавидят легковушки, легковушки ненавидят фуры. И все по своему правы и не правы одновременно.


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (Arh @ 6.04.2016 - 17:08)
В принципе и есть и можно, только тут один нюанс - на вкус и цвет товарища нет.

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

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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Arh
twin
Цитата
Когда у каждого свои правила

Не правила, а реализации.
Например реализация DI у chee вписывается в SOLID, но мне она не нравится, потому что она урезанная, накладывает ограничения.
Нельзя сделать инъекцию в метод или конструктор, а без этого иногда никак.

Например у себя я вот так могу описать подключение к memcache
'MemCache' => [
'class' => [
'name' => 'Memcache',
'method' => [
'connect' => [
[
'string' => '127.0.0.1'],
[
'int' => 11211]
]
]
]
]

Как это сделать через свойства я хз.

А правила ООП в принципе довольно чётко описаны в SOLID.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
chee
Цитата (Arh @ 6.04.2016 - 22:32)
Как это сделать через свойства я хз.

отписал в другой теме

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (Santehnick @ 6.04.2016 - 20:44)
В общем, я пытался донести мысль, что если программист знаком с грасп, то сможет замечать общие проблемы в коде.
Да это понятно. Просто если он не знаком с GRASP, но дружит с головой, то такие вопиющие проблемы он и так заметит)


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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.