Golodnyi
Отдельный класс под регистрацию называемый менеджмент объектом, меня сильно удивил, как и существование этого класса
Ale
Ale
я чет не могу найти момент, с которого ты негодуешь
Evgeniy
разве нужна причина чтобы негадовать?
Ale
http://verraes.net/2014/08/dry-is-about-knowledge/
Ale
каждый аргумент понравился и все обоснавания хороши
Ale
а альтернативы одна лучше другой
Sergey
процедурщина на стероидах рулит
Evgeniy
чат по ооп и тут ссылки на тему что ооп не нужно)
Evgeniy
тонко
Evgeniy
собрать людей сторонников одного взгляда и доказывать им обратное
Sergey
вот мне нравятся подходы в питоне, там ооп юзают только там где обьектам нужно поведение
Ale
Sergey
а так не парятся
Sergey
Evgeniy
сколько людей, столько и мнений
Evgeniy
срачи вечны, говно код будет всегда
Ale
поэтому можно забить и водки в подъезде навернуть
Ale
или боярышника
Ale
в смысле?
если заходить издалека method(object) vs. object.method() разницы ж немного
Evgeniy
боярышника в ооп стиле
Evgeniy
или call(method, thisStructure)
Evgeniy
jmp
Ale
Ale
через запятую или карированием
Ale
method(object, arg1, arg2)
Ale
method(object)(arg1, arg2)
Ale
как больше нравится
Evgeniy
так ты о js
Ale
о чем угодно
Evgeniy
о чем угодно с лямбда функциями
Evgeniy
без лямбда функций не сработает )
Ale
ну те языки, на которых это сделать тяжело, обычно не называют себя объектно-ориентированными или мультипарадигменными
Ale
а говорят о себе скромно "системные"
Evgeniy
лямбда функция к ооп не имеет отнощения же
Ale
классы тоже
Ale
но так проще на данном этапе
Evgeniy
во всех учебниках ООП (это наследование, полиморфизм и инкапсуляция), все остальное это велосипеды сверху)
Evgeniy
всякие solid, dry, kiss, ddd и тд это правила чтобы не простреливать себе ноги
Pavel P
http://blogerator.org/page/oop_why-objects-have-failed
Так забавляет как упорно некоторые люди пытаются доказать, что технология Х говно, пишут всякий булшит аля фрактал плохого дизайна, вместо того чтобы написать пост аля технология Y сэкономила кучу бабла/времени/нервов.
Ale
Evgeniy
а не пофигу ли?
Evgeniy
весь код можно просто переписать
class Test{} и ничего не потеряется)
Ilia
Вопрос зачем ты его в конструктор запихнул?:)
Evgeniy
в конструтор инициализацию
Evgeniy
другое дело что иницилизацию каждого свойства отдельно по возможсности
Evgeniy
вот так посмотри http://pastebin.com/tztdfQX2
Evgeniy
потом bin2hex замени на что то более случайное и уникальность что может гарантировать
Evgeniy
будет тру ооп код, только зачем?) ничего существенно не поменялось)
Evgeniy
она не гарантирует уникальность
Evgeniy
да, это так проблема из пальца)
Evgeniy
потому что у тебя изначальный вариант вполне нормальный и понятный)
Evgeniy
имхо
Evgeniy
что именно захочешь добавить ? в setUid
Evgeniy
он именно говорит что он проставляет значение в setUid и все хватит, остальное свои методы
Evgeniy
можно даже внутри setUid проверять уникальность и валидировать)
Evgeniy
я не говорю что оно лучше
Evgeniy
неа
Evgeniy
можно нафигарить что то типо этого
Evgeniy
вот так можно сделать )) http://pastebin.com/2ZFc8n0Z
Evgeniy
но на самом деле это плохо )
Evgeniy
:D
Evgeniy
и уникальность науровне процесса
Evgeniy
можно проверять в бд и тд)))
Evgeniy
что тоже не плохо
Evgeniy
насколько важна случайность uid ?
Evgeniy
сделай авто инкремент
Evgeniy
я бог костылей :D
Evgeniy
если критична уникальность и важна случайность то надо хранить прошлые варианты и проверять не было ли их раньше
Evgeniy
если уникальность не настолько важна и можно использовать алгоритмы которые с редкой веростностью дают энтропию)
Evgeniy
hash('md5', microtime(true)) обладает энтропией тут может быть не одна секунда)
Evgeniy
:D
Evgeniy
микросекунда0
Evgeniy
:D
Evgeniy
колизия )
Evgeniy
ну это математика)))
Evgeniy
она жестока)