Хороший, красивий, чистий код

Більш детальний розбір коду - t.me/AlexKovalchukTg/36
Стів Возняк геніальний програміст. Він робив з кодом таку еквілібристику що зараз важко повірити що таке можливо. В ті часи усі програмісти мали викручуватись, щоб помістити свої програми в обмеження комп'ютерів. Зараз такий код не вважається хорошим, бо комп'ютери стали потужніші та через те що такий код майже неможливо читати й підтримувати. Тепер навіть круті та швидкі програми зосереджені на хорошу архітектуру і підтримку. Тому такі шедеври залишились у 80-тих, а красивий вважається більш простий для людини, а не машини
00:00 Вступ
00:54 Код Возняка
03:06 Код Лінуса
04:22 Як будуть писати потім
05:54 Висновок
Для підтримки - www.buymeacoffee.com/alexkova...
Telegram - t.me/AlexKovalchukTg
З питань співпраці і реклами пишіть - t.me/Kelli_Nixe або alex.kovalchuk.media@gmail.com

Пікірлер: 118

  • @user-ek6jh1le4q
    @user-ek6jh1le4q11 ай бұрын

    Дякую за Вашу роботу! Круто, що є канал із високим рівнем контенту і адекватності! Хотів додати трошки свого розуміння процесу кодінгу. Гадаю, що "чистий код" не має бути фетишем для розробників, а лише як етап (частина) розробки. За роки своєї карʼєри розробника бачив 99% проектів, що не "взлетіли" і вмерли на етапі прототитів. Тому одразу "чисто" писати не завжди варто. Головне - швидкість! То ж вважаю, що спочатку має бути робочий прототип для замовника, потім, якщо проект "стрельнув", рефакторінг з "чистим кодом", а вже на потім - оптимізація за ресурсами та швидкістю. Хоча, погоджуюсь, що із рівнем досвіду прототипи будуть писатися ближче і ближче до стандарту "чисто", щоб потім менше було переписувати )) Але "чиста архітектура" відпочатку - мастхев! П.С. Коментар для підтримки каналу )) Ще раз дякую!

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Так, підхід MVP дуже важливий для того, щоб взагалі вийти на ринок. Мені подобається створення продукту в рамках хакатону. Коли з нуля до першої робочої версії витратили 2-3 дні та далі орієнтуватись на фітбек користувачів

  • @illyaevseev312

    @illyaevseev312

    9 ай бұрын

    Чесно кажучи, я не дуже розумію чому чистий код не може бути швидко написаним. Скажімо написати нормально структурований код і все в одній функції займає приблизно один і той же час. А коли ти пишеш якісь розширення чи утілити це в подальшому навіть скорочую розробку. При цьому технічний борг завжди дуже дорого обходиться. То навіщо взагалі писати криво?

  • @kabadzh0b207
    @kabadzh0b20711 ай бұрын

    Вже 11к підписників)) Вітаю) А я пам'ятаю як 200 чи 500 було) Вірив що якісний українській контент проб'ється

  • @user-cl5qn2qb7w

    @user-cl5qn2qb7w

    11 ай бұрын

    Проб'ється. Ютуб змінив алгоритми. Тепер зібрати перегляди на хорошому контенті, як раз чхнути.

  • @yuriibubis574
    @yuriibubis57411 ай бұрын

    Дякую за те що шануєте час глядачів, все стисло та змісновно, без води та переливання з пустого в порожнє Окреме спасибі за відсутність інтро)

  • @RadioLab
    @RadioLab11 ай бұрын

    У Вас круто все і доступно. Коментар для підтримки каналу. Нажаль також хотів в IT, але нажаль потреба знімати житло поставила хрест на цьому.

  • @romanpryshlyak252
    @romanpryshlyak25211 ай бұрын

    Гарний ролик про гарний код, дякую! Про Ґейтса майже правда! ;-) Тільки підкажу, що строка по-нашому -- рядок :)

  • @volodymyrkomliev5849
    @volodymyrkomliev584911 ай бұрын

    Як завжди, цікаво. Дякую. Хай квітне український KZread! 🇺🇦

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Дякую за підтримку

  • @LogopedLTD
    @LogopedLTD11 ай бұрын

    я пів відео тільки подивився, але це краще ніж все що я бачив)

  • @asumptio
    @asumptio6 ай бұрын

    Дякую за відео та вашу працю! Слава Україні!

  • @t.v.9696
    @t.v.969611 ай бұрын

    Чистий, хороший код - мрія кожного програміста. Шкода, що користувачі та їхні мами наврядчи його оцінять. 😊 З іншого боку: "пратівний" код, котрий зможете читати лише ви, гарантуватиме вам робоче місце мало не пожиттєво. Станете "ключником" в компанії, особливо в державній. 😁😂🤣

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Цілком реалістична стратегія)

  • @illyaevseev312

    @illyaevseev312

    9 ай бұрын

    Взагалі-то оцінять. Просто для користувачів він виглядає дещо по-іншому. Для них це швидкі виправлення, постіне додавання функціоналу тощо. З приводу стати "ключником". Можливо воно і звучить прикольно. А от насправді все дещо не так. У нас є один замовник, проект якого взяли дописувати без участі програмістів. Проект досить давній. З самого початку в нього було закладено декілька тупикових технологій. Можливо на той час воно і було виправдано. Але як факт. Потім, судячи з комітів, вирішили, що розробник занадто багато бере. Код дійсно гарний. І понеслося. Кожний наступний додавав безладу та милиць. А тепер уявіть собі результат. Більшість бібліотек не оновлюється тому, що їх давно закинули. Якщо щось не працює, то спитати ні у кого. Тільки старі відповіді та розбирання коду. Додайте сюди ще помилки в архітектурі і ви отримаєте всю повноту вражень. Виправлення кожної помилки це ще той квест. А додання чогось нового це взагалі ще те пекло. Особисто я не готовий займатися чимось таким до кінця свого життя.

  • @user-yy9ov2jc2n
    @user-yy9ov2jc2n11 ай бұрын

    Дуже дякую Вам за вашу працю, за ваші цікаві та корисні україномовні випуски

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Дякую за підтримку

  • @VitaliyPelyukh
    @VitaliyPelyukh11 ай бұрын

    Дякую, за працю, дякую за українську, вподобайка та комент.

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Дякую за підтримку

  • @user-cn4ic8ux6r
    @user-cn4ic8ux6r11 ай бұрын

    фуг, я вже думав що ти докорінно зміннив тематику каналу для більш поверхневої аудиторії, дякую що продовжуєш робити відео і на трохи глибші теми

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Я ще готую велике відео про vim, але воно вийде не раніше ніж через місяць

  • @mastersahar
    @mastersahar11 ай бұрын

    Гарний код той, впершу чергу, який виконує поставлену перед ним задачу. Ще гарніший, якщо він з першої спроби написаний і не вертається по 10 рез з теста чи рев'ю. Після цього я би поставив продуктивність - споживання ресурсів. І тільки після цього патерни, парадигми та іншу лободу, якими так часто підміняють саме поняття якісного коду.

  • @okuzmenko
    @okuzmenko11 ай бұрын

    Дякую за такий крутий та україномовний контент 🔥

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Дякую за підтримку

  • @stomtrooper_34
    @stomtrooper_348 ай бұрын

    Коли я починав в C#, за var (окрім кейсів, коли мегаочевидно що це) били по рукам, а тепер уже прописування строгих типів (окрім кейсів, коли необхідно експісітлі фіганути тип) - моветон. Це до того, що погляди на те, що таке хороший код з роками міняються

  • @markusrid6271
    @markusrid627111 ай бұрын

    цікавий плакат у вас за спиною)

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Це натяк на наступне відео)

  • @markusrid6271

    @markusrid6271

    11 ай бұрын

    @@alex-kovalchuk заінтригували , буду чекати)

  • @andrewshportaliuk8968
    @andrewshportaliuk896811 ай бұрын

    Дякую за якісний контент. Зніміть будь ласка відео про топ книг для професіоналів програмістів по типу: дядечко Боб чистий код, чиста архітектура, еджайл, патерни проєктування тощо.

  • @RuslanDenha
    @RuslanDenha10 ай бұрын

    Грьобаний Біл Гейтс!!

  • @entl_4538
    @entl_453811 ай бұрын

    відмінний контент!

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Дякую

  • @alexserdukov1595
    @alexserdukov15959 ай бұрын

    6502 ще може множити та ділити на 2 націло завдяки побітовому зсуву (shl shr або > в синтаксі С)

  • @seoonlyRU
    @seoonlyRU11 ай бұрын

    как всегда лайк от СЕООНЛИ!!!!!!!!!!!!!!!!!!

  • @andrewlevitsky6270
    @andrewlevitsky627011 ай бұрын

    Кінцівка шикарна 😂

  • @Taronimus
    @Taronimus11 ай бұрын

    Щось мені нагадує ця вставка про Біла Ґейтса в кінці)

  • @ich_verstehe_nicht
    @ich_verstehe_nicht11 ай бұрын

    В фільмі "Пірати кремнієвої долини", що базується на реальній історії, герої розповідали, що в Возняка, якраз, не дуже виходило з float-point. Треба, цей історичний момент якось з'ясувать. При всій повазі до пана Возняка, але це не я вигадав, то-ж мене не шейміть ;)

  • @Iwstdn
    @Iwstdn11 ай бұрын

    Я впевнаний що відео цікаве

  • @OlegSwan
    @OlegSwan11 ай бұрын

    Цікаво, от на пітоні взагалі можливий читабельний код? Всі спроби його застосування складали враження, що воно створено для ... не для програмування точно))

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Можливо, але треба звикнути до стилю написання. Уявляєш як важко людині яка весь час писала лише на python. Для неї усі мови з С подібним синтаксисом жахливі на вигляд (від незвички)

  • @nomad_wizard6865
    @nomad_wizard686511 ай бұрын

    А найголовніше в угарі оптимізації, коли застряв наглухо, не плюнути і не написати десь блок на асемблері.)) За таке тебе розстріляють. 😅

  • @nalitnyk
    @nalitnyk11 ай бұрын

    оо, я теж ту книжечку купив)

  • @minas_tirith
    @minas_tirith11 ай бұрын

    Вітаю! Є питаннячко, бачу зліва від Вас на поличці є книжка "Патерни Проєктування. Head First", і саме питання: "яка Ваша думка про дану книгу і книги подібних серій Head First". Дякую.

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Це не фундаментальна література, але цілком пристойна. Я не жалію що читав її

  • @Name-km1kj
    @Name-km1kj11 ай бұрын

    Ось наглядний приклад що поняття хорошого коду субʼєктивне. На 3:20 все супер очевидно, "ага пройшлись по списку, ось вказівник на попередній, якщо він не нал... ага, все зрозуміло". На 4:00 "хороший код", ні я згоден, прикольна ідея, але в мене він просто мозок виніс, "вказівник на вказівник, стоп, забули head встановити, а стоп нє, остання строчка й цей кейс покриває". Хоча я б сам скоріш зробив би так само, просто обрав би інші імена змінних й ще додав би змінну або коментар, щоб покращити читабельність. Як мінімум би ще дужки додав би біля &(*.

  • @mishadrug98

    @mishadrug98

    11 ай бұрын

    Плюсую. Це вже не говорячи про можливий креш в тому місці і явний витік пам'яті. (Хіба якщо якимось чудом там стекові дані збережені) Хоча, в першому теж витік пам'яті

  • @michaelsmi8900
    @michaelsmi890011 ай бұрын

    Треба писати код якомога гірше, без коментарів, щоб потім якщо треба було щось змінити, було легше все переписати, ніж дописати.

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Як не іронічно а я підтримую відсутність коментарів в коді 😅 Я вважаю що якщо код треба коментувати то краще його переписати

  • @VINRARUS
    @VINRARUS11 ай бұрын

    Хороший код це той який написаний тобою.©

  • @PreacherOfChaos
    @PreacherOfChaos11 ай бұрын

    у всьому винен біл гейтс))))🤣

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Це ж правда 😅

  • @PreacherOfChaos

    @PreacherOfChaos

    11 ай бұрын

    @@alex-kovalchuk тоді треба було ще додати що треба підписатися на цей канал а від всіх інших відписатися🤭😂

  • @Taronimus
    @Taronimus11 ай бұрын

    Сприймаю це відео як знак, що варто повчитись

  • @ich_verstehe_nicht
    @ich_verstehe_nicht11 ай бұрын

    Скажіть будьласка, а Skype це хороший код? Він-же давно пишеться, з ваших слів він апріорі має бути хорошим

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Skype має закритий код тому важко оцінити його якість

  • @savin55589
    @savin5558911 ай бұрын

    Як початківець в python скажу що чистий код дуже важливий. Сам почав цю тему колупати відносно не давно.

  • @lembergsun

    @lembergsun

    11 ай бұрын

    враховуючи шо там відступи мають значення, це не дивно 😁

  • @savin55589

    @savin55589

    11 ай бұрын

    @@lembergsun пахвха, практично стандарт відступів усюди такий самий, один tab або 4 пробіла.

  • @savin55589

    @savin55589

    11 ай бұрын

    @@lembergsun хочу ще добавити відступи це не саме головне в чистому коді.

  • @Dmytro-Tsymbaliuk

    @Dmytro-Tsymbaliuk

    11 ай бұрын

    @@savin55589 хтось не зрозумів сенс речення в пітухоні форматування коду важливе, коли для інших мов взагалі прохріну скільки там пробілів і перенесення на нову строку

  • @Oulezhka
    @Oulezhka11 ай бұрын

    Нормуль

  • @ich_verstehe_nicht
    @ich_verstehe_nicht11 ай бұрын

    У всьому винен "білгейтс" - ось тут я звами цілком згоден

  • @mr__anderson
    @mr__anderson11 ай бұрын

    Штірліц)

  • @Yu-qy7nh
    @Yu-qy7nh11 ай бұрын

    Если бы ещё были книги по языку с примерами хорошого кода.

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Один з варіантів це аналізувати великі бібліотеки на github. Зазвичай там якість коду на доволі хорошому рівні

  • @whu.9163

    @whu.9163

    11 ай бұрын

    @@alex-kovalchuk заліз я якось source-код sqlalchemy почитати:))))

  • @_sort_

    @_sort_

    11 ай бұрын

    ​@@whu.9163 То ви ще не читали код ядра linux :). Хоч воно написано доволі гарно. АЛЕ! Ти не знаєш, де той початок, взагалі, ЗВІДКИ його починати читати :D. Лише документація виручає.

  • @kirillsviderski4739

    @kirillsviderski4739

    9 ай бұрын

    refactorguru, і дуже попудярний Роберт Мартін "чистий код"

  • @whu.9163

    @whu.9163

    9 ай бұрын

    @@kirillsviderski4739 чистий код варто прочитати, але обережно і зі здоровим скепсисом)

  • @junveld4830
    @junveld483011 ай бұрын

    крутий бекграунд

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Дякую)

  • @vasylnahuliak
    @vasylnahuliak11 ай бұрын

    Недавно вийшло україномовне видання "Чистий кодер" Роберта Мартіна, якраз є цікаві думки про написання коду і його підтримку (тестування)

  • @kirillsviderski4739

    @kirillsviderski4739

    9 ай бұрын

    Я дітям давай цю книгу ще у 2020ому)

  • @vvkvital
    @vvkvital11 ай бұрын

    5:00 Ну да. Зато в Java теперь появились var-ы и лямбды. И то, и то как-то пофиг в языках, которые и так изначально нетипизированы, но это ж Java!.. Была. Вместо варов с лямбдами лучше бы препроцессор вернули, а то приходится какими-то костылями типа gradle пользоваться. Ну и классический protected тоже было бы неплохо. И friend. И... А, да ну его.

  • @womi1141
    @womi114111 ай бұрын

    Відео почалося не з привітання ...)

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Вирішив не витрачати ваш цінний час)

  • @lembergsun
    @lembergsun11 ай бұрын

    то всьо херня. на практиці - хуяк, хуяк і в продакшин 😂

  • @xyzw777

    @xyzw777

    8 ай бұрын

    ну да, ато за трудозатраты в сотню часов на доработку и уволить могут

  • @logcom482
    @logcom48211 ай бұрын

    Головне щоб все працювало а потім його привести до всіх кананлів чи заповідей Божих можна потім.

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Схожу концепцію має автор TDD. Спочатку усе має працювати, а потім виглядати гарно. Ну але він робив акцент що спочатку треба писати тест, а потім код для нього

  • @user-co8qq6dl6n
    @user-co8qq6dl6n11 ай бұрын

    1:01 шо то на ассемблере? Выглядит очень страшно)

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    В ТГ (t.me/AlexKovalchukTg/36) детальніше описав

  • @user-co8qq6dl6n

    @user-co8qq6dl6n

    11 ай бұрын

    @@alex-kovalchuk подписался 🙂

  • @dmytroportianka3842
    @dmytroportianka384211 ай бұрын

    але коли гівнокод на тайпскрипті це взагалі винос мозку )) типи які всі між собою звязані і не звязані одночасно і щоб зробити невеличкі зміни в схемі доводиться змінити половину коду. Тому мабуть якби питали мене гівнокод на строгій типізаціі або без типізаціі і треба щось пофіксити я б вибрав не строгу типізацію. типізація може подарувати ілюзію безпеки, але якщо все компілються в жаваскрипт і ти прцюєш з домом який може змінити не твій код або апі яке може повернути не те що ти очікуєш типізація не дуже допоможе. що круто в типізаціі це те що твій редактор набагато краще може давати тобі підказки ) для всього іншого лінтер і тести )

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Так, є небезпека з тайпскриптом. Якщо програміст занадто розслабляється думаючи що TS все покриє то це до хорошого не доводить. Особливо небезпечну думку якось почув таку: "Оскільки я юзаю TS то тести можна не писати"

  • @ni55an
    @ni55an11 ай бұрын

    4:54 якесь розмите поняття "більш строгої" типізації. Мабуть мова йде саме про статичну типізацію, а не строгу, якщо далі йде мова про Typescript

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Так, в першу чергу про статичну, використав "більш строга" як узагальнення явної, статичної типізації. Типу у всіх напрямках пішло покращення

  • @ni55an

    @ni55an

    11 ай бұрын

    @@alex-kovalchuk але ж strong typing не может бути узагальненням static typing 🤔

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Не може, але як php, так і js (за допомогою TS) рухався з weak до strong і з dynamic до static одночасно (якщо уявляти на графіку, то знизу зліва наверх в право) Просто мені "більш статична" звучить дивніше ніж "більш строга"

  • @ni55an

    @ni55an

    11 ай бұрын

    @@alex-kovalchuk наприклад (стосовно з weak до strong)?

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Приклади від weak до strong PHP з версії 7 додав можливість вказати типи параметрів функції на вхід і на вихід. Або з найсвіжішого з версії 8.2 додали самостійні типи null, false і true. У випадку з TS історія аналогічна. Типи параметрів функції на вхід і на вихід - це більш строга типізація в порівнянні з JS. Просто weak і strong не варто сприймати як перемикач від одного стану до іншого

  • @warrdoge6928
    @warrdoge692811 ай бұрын

    7:11 And remember... no russians

  • @TheGiver0
    @TheGiver08 ай бұрын

    Клятий Білл Гейтс, зіпсував мій код😅

  • @DirtyNewYorker0
    @DirtyNewYorker011 ай бұрын

    Я б сказав що в прикладах Лінуса - обидва приклада погані, бо в коді головне - неймінг. Тут зрозуміти що означають імена змінних можна тільки якщо ти вже глибоко в контексті.

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Це доволі абстрактний метод тому і назви розкривають суть

  • @DirtyNewYorker0

    @DirtyNewYorker0

    11 ай бұрын

    @@alex-kovalchuk Ці назви розкривають суть тільки читачу, який ВЖЕ розуміє що тут відбувається. Щоб зрозуміти що таке walk, шо це взагалі за тип і нахіба ця змінна існує - треба зрозуміти весь алгоритм (я розумію що це не дуже складно, бо алгоритм простий, але це не виправдання).

  • @alexkonoplian
    @alexkonoplian11 ай бұрын

    Гейтс реально скотиняка - так паскудити мій код ще треба вміти)

  • @aldwynconjurer9449
    @aldwynconjurer944911 ай бұрын

    Слабо віриться в код яикй виглядає норм, особливо в перші роки. Зазвичай ти дивишся на код з думкою "шо за дятел міг це написати? як таких взагалі Земля носить?" а через хвилину розумієш шо це повністтю твій код)))

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Так, і це нормальний процес. Набагато гірше коли в перші роки уже подобається код, це означає що людина не розвивається, хоча такого майже не зустрічав

  • @alexsklyarov6792
    @alexsklyarov679211 ай бұрын

    ты на Gnu linux сидишь?

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Не на gnu дистрибутиві. Основна система це macos і arch linux

  • @alexsklyarov6792

    @alexsklyarov6792

    11 ай бұрын

    @@alex-kovalchuk запиши ролик про arch

  • @ivanzrobok7148
    @ivanzrobok714811 ай бұрын

    Згідний, в усьому винуватий Гейтс

  • @djkjlbvbhzoer8011
    @djkjlbvbhzoer801111 ай бұрын

    Пишу коментар без значення, але оскільки коментарі збільшують обсяги, то може той коментар без значення має значення.

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Хех можливо допоможе, дякую за підтримку

  • @awesomedud
    @awesomedud11 ай бұрын

    Типу вивчити php за 10 днів неможливо?)

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Навчитись писати хороший код за 10 днів неможливо, а php вивчити і зробити сайт цілком можливо. Особливо з допомогою chatGPT

  • @Rameronos
    @Rameronos11 ай бұрын

    Зараз я абсолютно не розумію програмістів, котрі бояться давати своїм змінним змістовні назви. IDE зазвичай дозволяє не вводити їх назви вручну в місцях використання і пропонує автодоповнення. Зараз уже не той час, коли у розробників малі монітори, краще хай код буде "ширшим", але читабельнішим просто за рахунок назв змінних і без тонни коментарів, котрих можна було уникнути.

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    Ага, особливо нервує коли називають item, i, key хоча працюють з конкретними сутностями

  • @lowpolis
    @lowpolis11 ай бұрын

    Повага до україномовних блогерів...

  • @xyzw777
    @xyzw7778 ай бұрын

    ставь лайкос если за грязный но быстрый код

  • @shoperz0
    @shoperz011 ай бұрын

    Згоден тільки з останнім пунктом😡

  • @alex-kovalchuk

    @alex-kovalchuk

    11 ай бұрын

    А з чим саме не згідний по інших пунктах?

  • @shoperz0

    @shoperz0

    11 ай бұрын

    На фоні останнього вони виглядають неправдоподібно. А так я просто жартувати не вмію

  • @GPTalksZone
    @GPTalksZone11 ай бұрын

    Подписался. Но аватарка с синими волосами это конечно пи..ц.