>>255026987 (OP) Среди диггеров и шахтеров уже пол века ходят разговори о красных скелетах. Почему всем похуй? Неужели шумиха так невыгодна? На экстремальных глубинах люди постепенно начинают замечать периферийным зрением красных скелетов, это почти что задокументированный факт. Просто его никто не знает, феномен не хотят изучать. А что если это и есть ОНА? Загробная жизнь! Мы стоим на пороге великого открытия. Или просто иного рода существа, не такие, как мы? Тогда почему скелеты то? Не ясно, ничего не понятно! В России есть несколько стволов шахт, где есть нужная глубина и по слухам видели ИХ. Давеча списывался с диггерами, никто не будет лезть вглубь шахты вместе со мной, профаном, даже за большие деньги. А моя самая розовая мечта попасть туда, на своей шкуре прочувствовать встречу с необъяснимым, контакт с чем то потусторонним. Диггеры обычно люди простые, только до экстрима жадные, подобные высокие материи их мало заботят. Максимум страшную историю за чаркой расскажут, но разбираться в пережитом эмпирическом опыте не станут. Вот если кто нибудь и знает о красных скелетах, так это пигмалионы. Проблема в том, что данное движение тоже имеет как бы полумифический статус. Дауншифтеры не используют ветки форумов или социальные сети. В конце-концов, это блядь люди, которые живут в шахтах неделями, пока припасов хватит. От них можно любой хуйни ожидать, хотя в агрессии к диггерам замечены не были. Но знаете, странные они. Оккультисты до мозга костей, их идеология находится на стыке эскапизма, дауншифтинга, немного сатанизма или ницшеанства. Имхо, бояться их все же не стоит. Они хорошо знают все проходы в шахте, помогают диггерам за доставку припасов. Пигмалионы - панк версия диггер движения с кучей пафоса, есть и такое мнение. Но они то реально под землей живут! Месяцами!! Вы представляете? Ну не может быть пигмалион нормальным человеком в строгом смысле определения!
>>255027092 Инит конструктор, чтобы при создании экземпляра вводить данные. Селф это обозначения для переменной, чтобы она была своя для каждого экземпляра
>>255026987 (OP) >if type age is not int Обосрался. В питоне реально так пишут? Нахуй тогда динамическая типизация нужна, лол. Но больше подозреваю, что это оп наговнокодил.
>>255026987 (OP) Аристотелевской логики наверни хотя бы немного, а потом открой учебник биологии за пятый класс и почитай про биологическую систематику. Ебанаты школу прогуливают, а потом базовые вещи нихуя не понимают НИГДЕ НАХУЙ. Спидоанимальный приматоскот.
>>255027285 >>255027623 Да идите-ка вы нахуй. У вас тут спросишь "Аноны, посоветуйте, под рыбу красное вино или белое купить", а вы пошлете читать труды по истории виноделия и учебники для сомелье. Снобы ебучие.
Не слушай, оп. Все это вот имеет смысл читать, когда уже более-менее вник, так сказать, в "ремесленную" часть. Иначе прочитаешь, закроешь, и спросишь про себя "И нахуя я это читал, как писать все равно не понятно?" Мимо-программист
>>255028047 Ибо ты передаёшь туда аргумент, хотя не принимаешь если удалить fn Хз, на питоне не пишу, мб для конструктора то, что ниже передаётся это и есть аргумент
>>255027895 >То есть я должен в каждом экземпляре класса на каждый аргумент вешать селф просто протому что? аргумент тут не причем. self пишется, когда тебе нужно обратиться к полю внутри класса.
>>255028294 ну вот смотри, у тебя к примеру есть класс Прямоугольник, в котором есть два поля (ширина и высота), которые задаются в конструкторе. Вот у тебя есть два класса, в уодного ширина 20 высота 40, у второго ширина 100 высота 200. Для того, что бы методы внутри класса знали именно параметры инстантса, в котором они находятся и ипользуется ключевое слово self.
>>255026987 (OP) Ну вот есть класс пидораха, у него есть имя, фамилия и возраст, чтобы создать нового пидораху тебе нужно передать эти параметры в конструктор класса типо так Pidoraha(Semen, Govnoedov, 65) В итоге у тебя в рам памяти компудахтера создастся пидораха с заданными параметрами Также в класс можно добавлять методы, это как функции самого класса, например пидораха может молится на пыню Pidoraha.pray(pinya) Также пидораха может быть ПОДКЛАССОМ человека, то есть унаследует все поля и методы человека к которым можно добавить новые или изменить, например у нормального человека терпение заканчивается а у пидорахи оно бесконечно, то есть метод иерпения переписывается и вместо него пишется бесконечный цикл. Это если вкратце, если учил си то это как стракт внутри которого есть еще и функции.
>>255028384 Ты должен иметь знания, писать можешь как угодно, макака. Именно от знаний ты отказался вот тут >>255027640, ты даже в логическое мышление не можешь, ты вообще не вдупляешь о чем речь и зачем ты это нужно, конч. Какой ты нахуй программист, лол, ты макака за лоу прайс и большего не достигнешь.
>>255028024 Или еще хуже. Долбоебы начитаются книг про алгоритмы, возомнят себя неебаться Кнутами, а нормальный, читаемый код писать не умеют, комментарии не пишут, в функции ничего не выделяют, имена переменных ебанутые, на каждый случай начинают велосипеды воротить, хотя любой вменяемый не-алгоритмоеб понимает, что нужно это библиотекой делать. В итоге не код, а куча говна неподдерживаемого, в вещах которые должны просто работать вылезают баги (тебе обязательно было, скотина, пилить метод наименьших квадратов самостоятельно?), с ООП не дружат. Зато с точки зрения вычислительной сложности все заебись, и сходимость гарантирована. Пидорасы.
>>255028629 это значит, что компилятор, при выполнении твоего говнокода вместо вызова функции, копирования параметров в стек просто автозаменой пройдется по твоей поделке и выполнит замену isOdd(a,b) на a==b.
>>255028727 Ну суть ты понял. Посмотри как работает компилятор того, на чем ты пишешь, намного улучшит понимание, как писать высокопроизводительный код на твоем языке.
>>255028922 Зависит от характера вычислений, иногда очень даже существенная, например, когда сравниваешь какие нибудь две огромные строки при этом передаешь значение, а не ссылку/указатель
>>255028922 >Разница всё равно мизерная Только когда пишешь свой говнокод для хеллоу ворд, в реальных системах непродуманное макакообразное говно может увеличить время выполнения операции на многие минуты.
>>255029103 get_data возвращает значение выполнения функции не сразу, а спустя неопределнный промежуток времени. Именно поэтому мы ждем, пока значение вернется через оператор await. на самом деле функция то выполнится сразу, но вот нужное тебе значение появится спустя некоторое время Аналогично со вторым методом
>>255029103 Метод получает data извне, судя по всему htpp запросом. Пока все данные не получены нет смысла их разбирать. А sender, похоже, пересылает полученные данные, используя одно соединение. Я бы сделал модем и менеджер очереди вместо асинхронной отправки это дешевле и быстрее
>>255029230 >>255029103 Так вот, функция выполниться сразу, но вернет тебе при этом не саму data'у, которые ты от неё ждешь, а коротину, которая через некоторое время станет data'ой, которую ты ждешь. Не придерайтесь к словам, все равно лучшее, что ждет опа это вебмакакинг на жквери
>>255029006 Ну по поводу чисел не уверен, но вот точно помню, что в какой-то 10 или 12 версии ноды была проблема с каким-то ебаным символом, у которого неверно charCode был, из-за этого в дохуя огромном количестве либ был воркараунд вокруг этого бага
>>255026987 (OP) ООП это пиздец. Изучали Си, вроде норм, только писать прогу в нескольких файлах не научился. А потом ебаное ООП. Вообще нихуя не понятно. Хотя вуз не айтишный. А потом отчислился.
>>255029681 Двачую, у нас был си/асм вначале потом жаба, вначале прихуел конечно но потом привык и понял что заранее нужно продумывать все классы и подклассы чтоб повторений меньше было и не писать один и тот же код. Кароч кто говорит что после си учить ооп это как два пальца обоссать не правы.
>>255029946 Ага, вот только: 1) это нахуй в каждом языке, а в си-подобных ты эту залупу наугад напишешь без гугла, охуеть блять, жсик нахуй 2) на уровне жса это написано излишне сложно, явно чел не шарит либо мему лет 20 СОМНЕВАЮСЬ
>>255029917 > !!x%2 Я бы нахуй тебя послал с такими коммитами. Слишком велик шанс забыть вставить или вставить лишний ! и потом тратить дохуя времени на понимание, почему твоя поделка не запускатеся. Даeшь православный Boolean(x%2)!
>>255029687 >кек, ошибки в алгоритмах ловят даже в языках, а ты от простой макаки это требуешь. Совершенно верно. Именно поэтому не реализуй алгоритм сам, если уже есть хорошо оттестированная библиотека, которая это делает. Но если использовать библиотеки, это ведь не получится сверкнуть своими знаниями алгоритмов! Что, зря что ли книжки читал?
>>255029750 >ООП в реальности никому нахуй не сделаось Не путай реальность с частностью, обезьянка. Подход зависит от задачи. В обычной вебе с крудами писать свои классы\прототипы действительно не нужно, но ведь явно ты ничем другим не занимался.
>>255030141 >В обычной вебе с крудами писать свои классы\прототипы действительно не нужно, но ведь явно ты ничем другим не занимался. Как будто 90% говнокодеров чем-то кроме строчения кнопок на реакте и написания крудов на пыхе/жабе занимаются.
>>255029872 В соседнем отделе у ребяток программа для теплогидравлических расчетов. Из-за того что писали без ооп, у них там всякие интересности, типа функций с 82 (!) входными параметрами, куча версий программы, потому что универсальный вариант без ООП написать сложно, слишком высокая связность, в одном месте поменял, в 20 местах отвалилось. С нодализационной схемой цирк. Собираются переписывать с обширным использованием ООП. Так что физикам нужно ООП.
Я питоноблядок вкатывающийся в свифт Кто может поясните - когда меня отпустит ощущение что свифт хуевее? И почему все книги и туториалы так зациклены на делании приложений? Я хотел бы изучить весь синтаксис, а потом что-то делать, нет прошел переменные и операторы - делай калькулятор, прошел рандомные числа - делай кости. Ну ебана, дайте классы/структы вдрючить и потом уже я буду делать туду-листы
>>255030142 Ну и хуй с ним. Используй библиотеку. Если выясняется, что она слишком медленная - тогда пиши свое. Если оказывается что она слишком большая, выдерни оттуда кусок, или напиши свое. Но "написать свое" не должно быть первым желанием при встрече задачи.
>>255030752 Никто уже не использует this. Во фронте все на хуках, в ноде на async-hooks. В классах this работает также как и в абсолютном большинстве языков
>>255030489 >>255030448 Выясняется, что если узлы в нодализационной схеме реализовывать объектами, то легко удается выделить несколько "решателей" и небольшой набор параметров для каждого типа узла. Плюс, перегрузка методов. Но я их пиздецом заком не очень подробно, поскольку в нашем отделе более "чистая" числодробилка, у нас проблема не в таких масштабах.
>>255030489 >типа функций с 82 (!) входными параметрами Что мешает передавать dto? И делать от него сабклассы с нужным количеством параметров. Можно через оверлоадинги и разные методы вызывать в зависимости от типа dto.
>>255030301 >руби с луa сами по себе сдoхнут, и без нoды. А я не про них. Вытеснит в первую очередь пыхy. Немного потеснит шaрп с джaвой, но вряд ли заметно, да и у них кроме веба есть достаточно большие ниши чтобы языки не теряли популярность. А вот пыхe пиздa. Особенно когда подвезут адекватную работу с асинхрoнностью, нормальную поддержку фастифaй в нeсте и так далее
А так Луa почти не пересекается с нoдой по рынку - разные ниши. На счёт Рyби не уверен, время от времени встречаю свежие проекты на рeльсах, но всё рeже. Может и нoдa, не в курсе.
>>255030581 Чё за уёбский набор говнокодера-трейни который вообще верстальщик?
>куки JWT
>отличие POST от GET А может нахуй основные методы накатить, а не думать что есть какие-то невъебенные отличия? Ой нет блять слишком сложно нахуй, это же отдельная технология для каждого метода! И вообще это называется REST, уёбок
>WS Нахуя? А почему тогда не webrtc? Что только ws?
>>255030994 >хуй найдёшь Тебе кажется. Другой дело, что она сосёт хуи и на Vue который учить неделю та же ставка либо выше, чем на ноде в связке с миллионом дополнительных технологий. Вот это да. Но работы дохуя и больше, тут ты неправ.
Более того, на ноде можно заебись писать и не в вебе electron
>>255031059 >JWT Работает поверх кук и не везде >А может нахуй основные методы накатить, а не думать что есть какие-то невъебенные отличия? Ой нет блять слишком сложно нахуй, это же отдельная технология для каждого метода! Так-то у гета есть одно неъебенное отличие по сравнению с постом, про него и речь >почему тогда не webrtc WS используется намного чаще чем webrtc.
>>255031059 >webrtc Последний раз, как я смотрел что там с ним, webrtc был шибко геморройнее чем websocket, которые просто работали. Правда, и было это какое-то время назад.
>>255031407 >webrtc был шибко геморройнее чем websocket чел, ты... Server side events имеешь в виду? С того момента нихуя не изменилось, WS все еще геморный, особенно в отладке
Короче, сто лет как собираюсь осилить прототипы и классы в жске. Даже в сложнейших задачах ни разу не пригодилось, так что вопрос: Есть где-то хорошие туториалы с примерами реализации задач именно на жске или мне ебашить плюсы и потом тащить наработки в родной язык?
В общем накидайте советов по вкату в прототипы\классы, вы меня вдохновили и начну прямо сейчас.
Ну либо если советов не будет, пойду уныло читать mdn
>>255031449 Ну, с практической стороны, если тебе нужно передавать данные от одного клиента другому, у тебя есть два варианта: напрямую между ними webrtc или от одного пользователя до сервера websocket-ом, от сервера до другого тоже. Есть, конечно, более эзотерические варианты, но их не рассматриваем.
>>255031588 >прототипы Нахуй не нужно... > классы в жске >Даже в сложнейших задачах ни разу не пригодилось Попробуй реализовать какой-нибудь контейнер. Например, Map и Set, который будет объекты с одинаковым наполнением считать одинаковыми {t:123} === {t:123} //true. Реализуй методы по работе, обязательно что бы их можно было вынести из контексты и они работали. const m = new 2chMap(); const {myMethod} = m; myMethod() //должен работать
>>255031713 Прикол в том, что ты используешь rtc когда тебе нужен udp который он использует по умолчанию. Это стримы, разговоры, хуё-моё. Обязательно? Нет. Удобно? Да. Спросят с тебя rtc на крутом проекте? Однозначно.
>>255031865 Вопросов нет, webrtc работает, штука хорошая. Начал я-то с того, что (когда я с ним возился) webrtc требовал некоторых плясок, чтобы все нормально работало. И тут начался шторм говна, что я, мол, жопу с пальцем сравниваю.
>>255032550 Пожалуйста, вопросов никаких, хоть и leftpad.
Другое дело, обновлять библиотеки в процессе разработки проекта-дело сомнительное. Получишь первую релизную версию, тогда делай новую ветку, и перекатывай, если хочется.
>>255026987 (OP) окей, вот смотри, допустим ты художник, который рисует говном. ты ж не будешь брать говно руками, поэтому ты используешь палки для того, чтобы поднять говно и сделать свой шедевр. Вот и в ООП. класс это чан с говном, из которого торчат палки(методы)
>>255026987 (OP) Класс это буквально любое явление, а его содержание это описание явления, ЕГО свойства и действия (не над ним!). Грубо говоря, класс это контейнер данных - так вредно думать на практике (на деле это контейнер методов/функций), но проще всего понять в первый раз. Сам написанный класс в большинстве случаев является как бы тупо чертежом на бумажке, и для работы с самим явлением ты спавнишь сконструированный по этому чертежу объект. Ему ты можешь как бы неявно приказывать что-то сделать, внушить собаке вдруг решить гавкнуть или типа того. В исключительных случаях класс можно использовать как "структуру данных" и писать его для свершения действий НАД ним (хотя это супротив ООП). Это надо пынямать.
var ivan = new Chelovek(); var pereprelyiKal = new Govno(); var derevyashka = new Palka(); var morgenchlen = ivan.Nasaditb(pereprelyiKal, derevyashka); vovan.GrabWeapon(morgenchlen);
Бог сотворил очередного Ивана и было хотел вооружить, но так как барин запретил ему на подкорке самооборону и представления об оружии у Ивана посредственные, выдал ему по возможностям и попросил его насадить говно на палку и вооружиться ей.
>>255027640 я хз зачем тебе учить алгоритмы поиска просто так, но знать что есть самый дешевый по вычислению надо как работает посмотреть можешь когда понадобится
>>255040506 нормальный человек терпит до определенного лимита. while terpenie > 0: terpenie -= 1
пидораха - терпильный скам, самоуважения у такого скота нет, так что он терпит всю жизнь, пока не помрет нахуй (памяти не хватит). while terpenie > int(Inf): terpenie -= 1
>>255041433 Потому что ГОДНОТА. В ебучем среакте вроде все норм, но когда ты поглубже нырнешь ты ахуеешь, он нихуя не реактивный нахуй, хуки типа юзмемо изколбек тебя настолько заебут что ты готов будешь повесится нахуй, бесконечные ререндеры когда твой компонет рендерится по 100500 раз, нахуй, укатился на вью и заебись, есть другие проблемы но это другое
>>255041228 > А нахуя? Чтоб сделать более абстрактную абстракцию, с которой будет удобнее работать. > У тебя функция должна использовать только те данные которые должна Не все ограничивается одной функцией.
>>255033662 Ну давай посмотрим на примере того же самого leftpad, которым меня тут пугали. Использование leftpad как библиотеки аналогично тому что ты сам напишешь эту самую функцию, и уберешь в отдельный файл. То есть, в итоге, у тебя в любом случае есть код, который выполняет это что-то, что ты хотел сделать. В одном случае его писала непосредственно твоя макака, в другом-чужая макака, но он все равно есть. Но только потребности в аудите самописной библиотеки даже выше чем в аудита сторонней. Потому что аудит сторонней библиотеки в минимальном варианте может свестись, условно говоря, к заглядыванию на гитхаб в issues, а свою тебе как не вертись, нужно читать-тестить, и т.п.
>>255026987 (OP) Класс - это множество, а объект - это элемент множества. Ну представь, что у тебя стоит на столе банка, на ней написано "хуй резиновый", а в банке лежат хуи. Вот банка - это класс. А каждый конкретный хуй в ней - это объект, или экземпляр класса.
>>255040687 Пиздун. Помню очень хотел в гейдев, но вообще нихуя не понимал, даже классов, а потом поковырялся в унити, почитал статейки от и для чайников, и как понял! Кодить даже больше понравилось оказалось это интереснее и приятнее почти всего, что я делал. При чём в книгах как правило реально хуйня написана, которую начинаешь понимать только когда уже имеешь родное представление о том, что . Для новичка же достаточно и того, что названия абстракций дохуя абстрактны, и приходится простейшую и важнейшую инфу в тоннах канцелярщины копать, чтобы понять элементарную концепцию или архитектуру. Пример должен быть не просто на пальцах, а быть чем-то родным, что смогло бы усвоиться, и это отнюдь не всегда гавкающая собака и уточка уточка новая уточка. Для меня вот решающим открытием была вредная мысль что класс который уместное описание или чертёж некого нужного явления это тупо набор данных и логики, упакованных для удобства, и я могу их пердолить как хочу обращаясь к заспавненным по его образу экземплярам - типа контейнерам с инфой. Потом уже быстро дошло что такое методы/функции, конструкторы, статики и прочее, параллельно я прохавал принципы ООП и подправил мышление. Сейчас вот имею дело с таким некогда страшным и невнятным для меня словом как сериализация, а когда-то, кажется, и в голове бы такое не уместилось. Всё начинается с малого, главное это иметь соответствующую цель.
>>255055806 > обращаясь к заспавненным по его образу экземплярам - типа контейнерам с инфой. Не можешь класс от контейнера отличить? > я прохавал принципы ООП Что такое инкапсуляция? Своими словами, можешь в гугле посмотреть, но не копипастой отвечай. > Сейчас вот имею дело с таким некогда страшным и невнятным для меня словом как сериализация Так ты вкатыш еще. Это база.
>>255057588 > Не можешь класс от контейнера отличить? Жопой читаешь? > Что такое инкапсуляция? Своими словами, можешь в гугле посмотреть, но не копипастой отвечай. Логично плясать от слова "капсула". Защита состояния от (прямого) доступа извне. > Так ты вкатыш еще. Это база. Точно так. Но без цели и препятствий я бы и до сюда не дошёл.
>>255026987 (OP) 180 постов, а ни "сообщения" ни "мессежди", ни "message" не находятся на странице КОРОЧЕ ОП класс это типа замыкание функция принимает аргумент (это то, с чем ты класс инициилизируешь) и возвращает другую функцию, которая принимает аргументами так называемые сообщения зачем вторую функцию оборачивать в инициализатор? чтобы данные об "объекте" были несвязанными и ты их не передавал каждый раз в функцию, которая принимает сообщения, иначе как-то тупо: передавать объекту все данные о нём самом с каждым сообщением ПРОФИТ В ТОМ, что таким образом каждый объект сам определяет своё поведение, то есть в обычном коде 2 + 3, плюс это оператор зафиксированный в языке, его может можно переопределить, но чтобы плюс правильно работал и для строк и для чисел и для массивов/векторов/как угодно, нужно использовать там параметрический полиморфизм или multiple dispatch в объектном коде 2 + 3 это "В объект два отправить сообщение (плюс три)" и двойка сама решает что для неё значит "плюс" всё остальное типа ключевых слов class, областей видимости методов, неявной инициализации (не new Integer(2), а просто 2) это синтаксический сахар про "полиморфизм, наследование, инкапсуляцию" -- запомни какой-то нормальный ответ чисто для собесов, но ни Алан Кей, которому приписывают ООП, ни последующие деды, которые прокачали ООП для асинхронного мира с помощью акторов ИМХО этими "трёмя столпами" не страдают мимо ruby-господин ;)
>>255060857 а шо делать? >>255060896 не думаю, что замыкания сложней, чем "ну вот короче ты пишешь кусок кода потом пишешь dog = Dog.new(name: "buddy"); dog.bark()" и оно работает потому что методы класса >>255060959 ну в вебе КМК похуй что у питона больше либ по вычислениям, RoR хуё-моё
>>255061325 расскажи пожалуйста >>255061092 чел, ты ... ни ООП ни ФП это не про, какой машинный код будет, это про проектирование программ >>255061488 не писал на джанго, не знаю ну стартуют на РоР если разрастается проект, то переписывают на что-то найс четыре последних цифры
>>255061069 Ага, расскажете. Сокрытие - внутреннего механизма работы класса от конечного юзера. Может ты моей трактовки не понимаешь, но было сказано своими словами. Предложишь свою?
>>255061979 > Может ты моей трактовки не понимаешь, но было сказано своими словами. Из твоей трактовки был сделан вывод, что для тебя сокрытие и инкапсуляция это одно и тоже. > Предложишь свою? Инкапсуляция - абстрагирование частей кода в одну сущность.
>>255026987 (OP) Тред не читал. Само ООП никогда лично вопросов у меня не вызывало. Но вот я всегда задавался вопросами типа "а нахуя вообще нужны классы?".
Так вот, если кому нужен ответ:
ГЛОБАЛЬНЫЕ переменные знаете? Это типа оченьоченьоченьочень плохо их использовать. Грех. Поэтому еретики, желающие их использовать, выебнулись и придумали классы. Теперь просто пишешь Class и там свободно делаешь глобальные переменные и функции для них.
Ну а чтобы праведная церковь не доебывалась, то прикрутили еще и модификаторы доступа, ну и глобальность ограничивается классом, типа блять не глобально.
И все. Весь смысл ооп, про который книжки хуячат на 1к страниц.
>>255063048 Ну как я и предположил. Понимание важнее точности формулировки. Могу на примере той же банки с огурцами обрисовать. Банка инкапсулирует массив огурцов. Если потрясти банку то инкапсуляция сохранится. Если же открыть крышку и перемешать рукой то будет нарушена. Сокрытие это непрозрачная банка, в которой ты не можешь увидеть, что для перемешивания огурцов используется жидкость со своими переменными. Барин разрешил доставать только один рандомный огурчик за раз, засовывая два пальца в специальное отверстие, но ты достал все и взял какой захотел, и хотя и положил на место как было - тебя набутылили за нарушение инкапсуляции. Ещё и узнал, что они плавали они в спутнике-ковид, что холопу знать не положено, т.к. это военная тайна.
>>255026987 (OP) Классы и все ооп для даунов которые забывают свою прогу на следующий день
Настоящие программисты такой хуйнёй не страдают и разумеется все пишут в одном методе с кайфом. Каждая переменная это а1, а2 и тд Это кстати дополнительно защищает программу от взлома. Если какой нибудь пидрилыч декомпилирует твою прогу и получит исходный код, то не сможет разобраться и умрет жидко пукнув, ну или потратит год на изучение
>>255064190 Ты дегенерат. Имена методов остаются в скомиленном коде только в С# и еще нескольких языках. В остальных там все безвозвратно переводится в машинный код, из которого код можно декомпилировапть только в виде команд ассемблера. А за такой код я бы тебя обоссал.
>>255064385 Долбаебина. SRP говорит о том, чтоб класс/функция использовался с единственной целью. >>255063882 > Понимание важнее точности формулировки. Согласен, но ты неверно написал. У тебя верная только половина, где ты писал про капсулу. Но инкапсуляция не предполагает того, чтоб твой что-то было скрытно. Петухон удовлетворяет принципам ООП, но ничего не скрывает. Спросить формулировку инкапсуляции, на самом деле, отличный способ проверить на понимание ООП. Отвечает сокрытие или что-то типа того - не понимает. > Могу на примере той же банки с огурцами обрисовать. Банка инкапсулирует массив огурцов. Если потрясти банку то инкапсуляция сохранится. Если же открыть крышку и перемешать рукой то будет нарушена. Опять ты говоришь хуйню, подразумевая сокрытие. Открыв банку, все равно огурцы являются частью одной сущности - банки с огурцами. Хотя данная аналогия полная и не точная хуйня. Она подходит под описание контейнеров, а под ООП тогда рецепт или описание этой банки, где банка объект данного класса. > Сокрытие это непрозрачная банка, в которой ты не можешь увидеть, что для перемешивания огурцов используется жидкость со своими переменными. Нет, в роли сокрытия тогда выступает крышка, через которую ты не можешь достать приватные/вне зоны контекста(забыл название) данные.
>>255065050 Реально дегенерат не понимающий как работает компилятор. Еще раз, ебанько - имена методов(классов, переменных, свойств, объектов, параметров и т.д.) остаются в скомиленном коде только в С# и еще нескольких языках. В остальных там все безвозвратно переводится в машинный код, из которого код можно декомпилировапть только в виде команд ассемблера.
>в третьих, любой машинный код можно обратно декомпилировать на процентов 80-90, но это супер сложно Нельзя. Даже самые передовые компиляторы не могут это хоть сколько то качественно делать.
>>255065368 Ты переформулировал всё как тебе удобно. То же самое, только с другой точки зрения. Ещё и догматизм типа "пукает сокрытие - не понимает". Ты привязан к словам. Если хотел точность формулировок - так и надо было тоже уточнять, я бы зучил максимально размусоленные в гугле (даже без реального понимания).
>>255065368 > Долбаебина. SRP говорит о том, чтоб класс/функция использовался с единственной целью. А про первое что скажешь? Вынесение части кода в отдельную функцию это не абстрагирование части кода в единую сущность? Ах, это и есть инкапсуляция? А зачем она нужна, удобства ради и красоты для? А, ну тада давай. >ЭТО ДРУГОЕ!
>>255065761 > Ты переформулировал всё как тебе удобно. Да нет же блять. Я могу создать класс и поместить туда под паблик все переменные и методы и это будет инкапсуляцией. Посмотри видос, там он поясняет: что такое сокрытие, что такое инкарсуляция и почему ты сейчас путаешь сокрытие и инкапсуляцию. На примере с сями и твоими огурцами - создаешь хидеры и реализацию хидера, подключаешь хидер к свему меину и не имеешь доступ к данным структуры. Также и банкой с огурцами, ты ложишь свои огурцы в банку(внутренее помещение это реализация) и сама банка это хидер. Очень хуевая аналогия, но даже на ней можно показать данную фичу. >>255066141 > А про первое что скажешь? Вынесение части кода в отдельную функцию это не абстрагирование части кода в единую сущность? Нет. Функция в программировании, это тоже самое что математическая функция. Она получает вход и дает выход. Абстракция это нечто другое, например, структура. > А зачем она нужна, удобства ради и красоты для? Да.
>>255066630 То есть тебе ещё и надо было про метод уточнить? И этот человек ещё просит что-то своими словами описать... ояебу. Вроде и умный, а додумать не может.
>>255066630 Хорошо, раз можно маняврировать, то я инкапсулировал огурцы из внешнего мира в банку, и заодно сажаскрыл чтоб никто не догадался что внутри.
>>255066952 Че ты несешь, болезненый? >>255067037 То что это скрыто, это еще не значит, что это одно и тоже. В петухоне, например, из объекта можно достучаться до любых его компонентов, но это не делает петухоновскую инкостыляцию не инкостыляцией. В некоторых языках(c++, java) инкапсуляция тесно связана с сокрытием, в некоторых(python) это совершенно разные вещи. >>255067258 Это были не манявры, а попытки объяснить инкапсуляцию на твоем примере с огурцами. Банка это объект и инкапсулирует огурцы независимо от крышки. Крышка в данном случае выполняет роль private или public модификаторов. Когда она закрыта и ты не имеешь доступа к огурцам - это сокрытие, когда ты объединяешь огурцы друг с другом, рассолом и прочей поеботой - это инкапсуляция. >>255067696 > Путать != не понимать. Конкретно в этом случае - путаешь сокрытие и инкапсуляцию == не понимаешь для чего эти механизмы нужны. >>255067884 > SRP = инкапсуляция. Схуев ты это решил?
>>255067359 Лул, я так и делаю. К слову, это то, за что мне нравится питухон, который в отличии от Java не навязывает ООП. Хотя блин, и в java можно всё в main напихать.
>>255067987 Ну и насмешил ты, конкретный догматик. > В некоторых языках(c++, java) инкапсуляция тесно связана с сокрытием, в некоторых(python) это совершенно разные вещи. Поделил свои доводы на 0. > Конкретно в этом случае - путаешь сокрытие и инкапсуляцию == не понимаешь для чего эти механизмы нужны. > Схуев ты это решил?
>>255068124 >отличии от Java не навязывает ООП Это как сказать, что тебя чайник заставляет воду кипятить, а гвозди чайниками забиваются плохо. Java не навязывает ООП, это ОО язык.
>>255068936 Так я понимаю, ты же сам сказал, что я понятия перепутал. Ты лучше расскажи, что такое нарушение инкапсуляции? Или его не существует, есть нарушение сокрытия? И если ты инкапсулируешь для удобства, то разве не руководствуешься при этом SRP?
>>255069949 > Ты лучше расскажи, что такое нарушение инкапсуляции? Ты ветку жопой читал? Это другой чел говорил, которому я изначально за инкапсуляцию пояснял. > И если ты инкапсулируешь для удобства, то разве не руководствуешься при этом SRP? Руководствуюсь, если оно не вредит проекту и в тему(почти всегда). Но иногда SOLID'ом можно жопу подтереть. Но это не значит, что это одно и тоже. SRP - класс/функция нужны для выполнения одной конкретной задачи. Инкостыляция - нужно для абстрагирования полей и методов в одну сущность. Сокрытие - скрывает реализацию от шаловливых ручек. >>255070678 Из-за сложности не можешь воспринять текст? Я на протяжении всего срача примерно это и твержу. Инкапсуляция (англ. encapsulation, от лат. in capsula) — в информатике размещение в одном компоненте данных и методов, которые с ними работают. В реализации большинства языков программирования (C++, C#, Java и другие), обеспечивает механизм сокрытия, позволяющий разграничивать доступ к различным компонентам программы.
>>255071600 Хорошо, ты меня плюс-минус убедил. Я и правда думал, что сокрытие это лишь один из принципов инкапсуляции, помимо абстрагирования. ЧСХ, если в сишарпе наследуешь класс, и называешь какой-то из членов как в базовом, выдаёт предупреждение, что он СКРЫВАЕТ член в базовом, и желательно указать new. И ещё, как тогда однозначно назвать сокрытие внутреннего механизма работы класса? > Ты ветку жопой читал? Это другой чел говорил, которому я изначально за инкапсуляцию пояснял. Ну а ответь мне. Раз инкапсуляция для красоты и удобства, как её можно нарушить? Или N/A? Просто я частенько вижу это выражение, все тупые что ли, не понимают?
>>255073006 > ЧСХ, если в сишарпе наследуешь класс, и называешь какой-то из членов как в базовом, выдаёт предупреждение, что он СКРЫВАЕТ член в базовом, и желательно указать new. Это еще одно определение сокрытия. По сути он просто перекрывает твою базовую функцию. Чтоб этого не было, делай такие функции виртуальными. Полиморфизм и работа с интерфейсам - важнейшая часть ООП. > И ещё, как тогда однозначно назвать сокрытие внутреннего механизма работы класса? Реализация? Не понял что ты тут сказал. > Ну а ответь мне. Раз инкапсуляция для красоты и удобства Все ООП для красоты и удобства. > как её можно нарушить? Никак, наверно. Я не утверждал этого. > Просто я частенько вижу это выражение, все тупые что ли, не понимают? Да, очень многие путают сокрытие и инкапсуляцию за счет инфоциган и хуевых переводов.
>>255073618 >ещё одно определение сокрытия Т.е. можно и так, и сяк ответить? Как то тупо. Я так понимаю это такая же часть сокрытия. > > И ещё, как тогда однозначно назвать сокрытие внутреннего механизма работы класса? > Реализация? Не понял что ты тут сказал. Внатуре чёт тупанул. Скрытие реализации это ж и есть по сути сокрытие, лол. > Никак, наверно. Я не утверждал этого. Значит это таки-сокрытие может нарушаться инкапсулятором по невнимательности. В общем-то логично, хотя и режет слух после всего инфоциганства. ЧСХ, всё это "непонимание"/ незнание матчасти не мешало мне пользоваться "скрытокапсуляцией" на практике, ровно как и шаблонами проектирования, про которые я многим позже узнал. Это просто логично и удобно. Хотя как раз когда я пытался в теорию вникнуть по статейкам, чуть не начал думать что для инкапсуляции достаточно тупо все поля сделать приватными и в публичные свойства обернуть, а тут вона оно чё, совсем не то. Так что даже хорошо что само дошло.