Вызов метода у экземпляра класса, вызов метода по ссылке на экземпляр класса, вызов статического метода класса. Вроде так, давно не писал на плюсах.
более понятно для не IT шников.
вот надо кого то послать нахуй, например Ивана.
тут есть объект - иван, действие, и куда - нахуй, собственно действие и реализует наш класс типа tNahui и экземпляр nahui
т.е. в простейшем случае будет так:
tNahui nahui(Ivan);
nahui.poslat(); // когда ты рядом перед Иваном то тогда с точкой
если иван не рядом с тобой а к нему Федя пойдёт то не скажешь же ты Феде иди нахуй, ты получишь по морде от Феди (ну и от компилятора ошибку), у тебя будет указание - послать Ивана нахуй, т.е. работаем через указатель
Fedya = new tNahui(Ivan);
Fedya->poslat(); // когда ты далеко от ивана и даёшь указание Феде
а теперь предположим что тебе хочется узнать куда kuda() тип класса посылает. Тебе не нужен контекст и никакой иван не нужен чтоб послать, да и посылать ты не обязан никого. Ты можешь класс спросить и этот вопрос будет статичной функцией т.к. гвоздями у класса прибито это направление посыла и создавать экземпляр не нужно т.к. нет контекста.
log_out(tNahui::kuda()); // Выведет в лог "нахуй"
Конечно, есть силы молчать, однако в этот четверг мне в стакан "любви" к людям в очередной раз долили через край.
Коротко о себе:
Программист - в настоящий момент Ведуший или Lead*(см. сноска 1). Более 20 лет опыта - С и С++ любимые языки общения с персоналками.
За последние 3 года из 500 назначенных интервью я провел почти 300 - Я интервьюирую людей для компании-работодателя.
В общем, возможно этот крик души будет полезен кому-то, кто сейчас ищет работу по специальности разработчик программного обеспечения.
Остальным можно смело пролистывать, будет много терминов и даже, вы наверняка сочтете, что я использую ненормативную лексику.
Начнем с теоремы:
В IT компаниях, при найме, стараются оценивать профессиональные навыки и избегать субъективности.
Доказательство от противного (от меня):
Я, торжественно клянусь, да отсохнет мой член если я вру, что даже если у Вас пизда поперек и сиськи 5-го размера - мне будет важно только то, как Вы пишете код, а не то что вы кошкодевочка моей мечты.
Перефразирую: положим - Я вас найму, и Вы, чисто случайно, попадете в мою команду
>>> я вас (с Вашей поперек-пиздой) трахать буду минут, в лучшем случае 30 (в день, и далеко не ежедневно) - с возрастом как известно дойти к финишу все труднее*(см. сноска 2).
А вот меня за сгоревшие сроки и проебанный продакшн (приложение, вебсайт) будут трахать всем колхозом месяца 2/3, это если мне дадут notice period*(см. сноска 3).
А ведь могут и не дать, а кое-что похуже сделать - если прям захотят. Контракт что дышло - как повернешь... *(см. сноска 1 - последнюю часть)
Так что, если вы придете ко мне на интервью, будьте уверены, я попрошу Вас написать код.
- Хоть какой-нибудь!
- Хоть одну строчку.
- Ну хоть что-то.
Так вот дорогие мои читатели этого опуса - вы не поверите! Но в этот четверг... Это таки случилось! В очередной раз!
И нет бы это был какой-нибудь новоиспеченный борец за зарплату IT специалиста, который пришел на собеседование без подготовки, курсов и прочитанных книг. Но с чатом GPT или другом за спиной.
Нет! - резюме этого человека выглядело более чем Великолепно. По всем параметрам выходило, что Рекрутеры не ошиблись направляя этого человека именно ко мне,
а не другому интервьюверу уровня Senior*(см. сноска 4)
В его резюме было образование по специальности и даже несколько компаний в которых он числился как специалист и потом Lead*(см. сноска 1 снова). Весь фарш!
А вот то, что получилось: Человек говорил предельно гладко, говорил хорошо! Возможно он читал https://cppreference.com/ и программировал, подумал я, но все-равно дал ему задание.
Ведь для меня важно чтобы человек писал код. Чтобы по крайней мере его уважали люди уровня Senior*(можно еще раз глянуть на сноску 4)
Только вот в критический момент написания пары строчек кода кандидатом, я словил себя на мысли, что пациент нихуя не программист даже уровня Junior*(смотри сноску 5).
-> Если вы хоть немного шарите в программировании (не только С++, но любой язык)
-> и знаете что такое палиндром. (погуглите если не знаете)
То Вы 100% сможете написать функцию для проверки - является ли строка палиндромом или нет.
После того что я увидел на этот раз, хотелось сказать только одно:
Однако - мне было жалко этого человека. Было видно, что он САМ все понял прямо сейчас. В процессе написания - У него в глазах стояли слезы.
Уже потом, просматривая его резюме еще раз, до меня дошло - в какой-то момент он попал в администраторы. Он перестал писать код. Потому что надо же кому то заниматься улаживанием конфликтов, налаживанием коммуникации, документацией в конце концов...
А Ведь кроме как "пинать хуи" - Ваш Lead* должен уметь писать и код. Этот человек это перестал делать уже года 3 как.
А жаль мне было, что за последние 2 месяца он был единственным человеком с большой буквы.
Без Чата GPT, без друга на заднем плане, без гугла, без пауз в ответах он четко признал, что перестал быть программистом и ему пока нужно учиться заново писать код.
Я дал ему еще кое-что на "написать" и "просмотреть" для проверки. Но это было напрасно.
Так что основная моя мысль в этом послании - "Пишите код". Даже если ваша задача на проекте править баги. Пишите код!
Даже если вы считаете, что не знаете что бы такое написать - найдите что - и напишите код. Хотя бы потому что чтобы вырасти из специалиста уровня Junior* в специалиста уровня Middle*(см. сноска 6) и выше надо писать код.
А я, буду откровенен, заебался отсеивать людей, которые не знают даже синтаксис.
И еще - даже не пытайтесь читить с другом или использовать чат GPT. Вы просто получите черную метку в той компании куда хотите попасть.
Напишите ка лучше код. А пинать хуи оставьте тем, кто хочет получить черную метку.
Возьмите задачи например тут https://leetcode.com/
Lead* - Ведуший программист - специалист высшей категории (дайте эпичных задач и эпичных людей - и мы все сделаем).
Бытует мнение, что такой человек - Мастер пинать хуи, и хуеплетов. А имено - многие считают, что Lead ни хрена не работает, а всю работу передает (по научному - делегирует) хуеплетам которых и пинает, чтобы они и делали работу.
Некоторые, все же считают, что когда такой человек все же пишет код, то приложение сбрасывает лишний вес и пару давно зарытых в недрах хворей. (это мое мнение) А еще он - Читает документацию и думает.
сноска 2:
Тут описан медицинский факт и растущий с возрастом спрос на виагру. Например, заниматься спортом или не заниматься - это ваше дело. Так же автору безразличен Ваш персональный способ приходить к финишу. Так что можете выбрать любой из наиболее привлекательных для Вас сексуальный/финансовый/психоделический/иное вариант подкупа интервьювера и смоделировать ситуацию.
сноска 3:
Описанный в статье случай носит научное название "Пиздец на проде". Или "Ебанный в рот менеджер проекта", который по доброте душевной распространяет новые морально-насильственные практики навязанные заказчиком во вверенном ему продуктовом подразделении.
сноска 4:
Senior* - программист - специалист высшей категории (дайте задачу - я ее заебеню!)
Бытует мнение, что такие люди могут забацать задачу, возможно, задавая дополнительные вопросы по существу.
Обыкновенно код написанный такими людьми попадает в продакшн после 2 или максимум трех дополнительных правок. И если продукт после этого ломается, то недолго и в строго отведенных, мало изученных тестировщиками местах. Не верят безоговорочно своему Lead* (см. сноска 1). Если не уважают своего Lead* - то не верят ему вообще - И тогда команда разваливается. А продукту в такое время - мало не кажется.
сноска 5:
Junior* - программист - специалист категории (дайте задачу - я ее ... буду думать!)
Бытует мнение, что такие люди нихрена не умеют программировать, Но это пиздешь.
Эти люди должны знать как написать цикл, какие есть вообще операции и всякие функции в нашем базовом API (Интерфейс для написания приложений).
Не прямо "все все" в этом API, но десяток другой функций уже сойдет. И еще они знакомы с синтаксисом языка программирования.
И безоговорочно верят своему Lead* (см. сноска 1)
сноска 6:
Middle* - программист - специалист категории (дайте задачу - я ее в итоге добью!)
Бытует мнение, что такие люди все-таки умеют программировать. Но это не точно.
Эти люди видели и писали кой-какой код в этой жизни (или в той/или не код). И поэтому любую задачу они будут делать так же как и предыдущую задачу. Вне зависиомости от того похожа предыдущая задача на текущую или нет - они задачу будут делать так же как и задачу до этого. Это беда!
Как следствие продукт ломается от просмотра кода внимательным взглядом Lead* (см. сноска 1). или под воздействием поверхностых проверок тестировщиков. Так что код написанный такими людьми попадает в продакшн после 2 или максимум трех недель ежедневных правок.
Они безоговорочно должны верить своему Lead* (см. сноска 1) И уже должны знать большинство терминов из явления под названием "документация", но еще не совсем понимают эти самые термины - за что их и пинают как хуи.
А Еще - Таких как они, больше всего на свете, из тех кто пишет код - поэтому в мире так много багов и финансовой несправедливости.
сноска 7:
В предложенном решении задачи использован С++ 17 стандарт. Автор не претендует на идеальность предложенной логики, прежде всего потому, что он Lead* и посему четко знает, что мир С++ (да и любого другого языка) намного сложнее, чем может постигнуть любой программист.
Отличный комментарий!