Логика погромистов
Смотрю тут видос один, а там просят аудиторию инвертировать утверждение. Одно из утверждений: Вася родился в Москве. Народ массово пишет Вася не родился в Москве. Вот такая вот логика бывает у погромистов :)
7 фраз, которые нужно выбросить из своего лексикона, если хотите стать отпадным специалистом
Фразы, о которых мы сегодня поговорим, — это база. Только такая, которую знать не следует. Своеобразный парадокс, да, но и тому есть объяснение: это фразы-паразиты, которые только вредят вашему образу в глазах заказчика или работодателя.
Фраза №1 “Это невозможно”
Двоякая фраза. Да, есть люди, которые не слишком в теме развития технологий, и они могут попросить вас, к примеру, создать “Глаз Бога” из “Форсаж 7” — хакерской системы, способной отследить любого в реальном времени. Пока что это возможно лишь гипотетически, но не практически.
Другой случай, если вы говорите “это невозможно” на очень сложную, но реальную задачу. И вы так говорите, потому что вам лень искать решение, а потом ещё и долго работать.
Вместо этой фразы вы можете сказать “Дайте мне время”, а после воспользоваться этим временем, чтобы погуглить, обсудить задачу с коллегами или найти альтернативу.
Фраза №2 "Я не знаю"
А о таких словах нужно вообще забыть в первую очередь, потому что фраза “я не знаю” = “я не хочу”. Не хочу учиться, не хочу вникать в тему, не хочу этим заниматься — много чего. Поэтому запомните: нет фразы “я не знаю”, есть фраза “я не хочу”.
Но если вы действительно не знаете, признайтесь в этом, но скажите следующее:
“Я пока не знаю, как это сделать, но буду разбираться, поэтому дайте мне время”. И, кстати, не забудьте добавить, что вы готовы усердно работать и изучать новые вещи. Это покажет вашу готовность к саморазвитию и росту в профессиональном плане. Быть открытым к обучению и новым знаниям — это не только здорово, но и необходимо для успешной карьеры.
Фраза №3 "Это не моя обязанность"
А вот эта фраза, как красная тряпка для быка, когда речь идет о взаимоотношениях с работодателем или заказчиком. Вместо того чтобы говорить "Это не моя обязанность", лучше проявить инициативу и готовность помочь. Скажите что-то вроде:
"Хорошо, но дайте мне время, и я сделаю все возможное”.
Вообще фраза “дайте мне время” — универсальный ответ для всего. Проверено.
И такой подход покажет вашу ответственность и готовность взять на себя дополнительные задачи, что оценят как работодатели, так и заказчики. Ведь в бизнесе ценится не только выполнение своих прямых обязанностей, но и готовность помогать в решении любых задач для общего успеха.
Фраза №4 "Я сейчас занят"
Эти слова могут показаться не очень учтивыми. Лучше сказать то, что выразит ваше уважение и готовность помочь:
"Сейчас у меня другая задача, но, как только я завершу её, тут же помогу, хорошо?”.
Звучит не только тактично, но и выражает ваш профессионализм.
Фраза №5 "У меня не получается"
Если честно, звучит по-детски. Вы же не тот самый капризный малыш из детсада, у которого не получается сделать поделку из шишек? Вы — взрослый человек, который находится на работе и получает за это деньги. Если у вас что-то не получается, старайтесь, учитесь, пробуйте разные подходы.
Да, придется посидеть, подумать, потратить больше времени, чем обычно… Но вы справитесь. Уверены на 100%.
Фраза №6 "Это не мой стиль"
А вот это странно. Во-первых, потому что звучит как отговорка, а во-вторых, сразу кажется, что вы просто не можете выполнить задачу или соответствовать требованиям.
Вместо того чтобы ссылаться на “ваш стиль”, лучше обсудить, как вы можете адаптироваться или научиться делать что-то новое. Объясните, что предложенный подход кажется не совсем эффективным, но вы готовы рассмотреть альтернативные варианты и найти решение.
Такой ответ покажет вашу гибкость и готовность работать над собой и над достижением общих целей, вместо того чтобы ограничиваться собственными предпочтениями.
Фраза №7 "Это всегда так делалось"
Если вы работаете в разработке, да и не только, то забудьте эту фразу. Ни к чему хорошему она вас не приведет.
Прогресс не стоит на месте. Поэтому то, что “всегда так делалось”, не может продолжать так делаться вечно. Эти слова только подчеркивают консервативный подход, а люди, которые его придерживаются не хотят развиваться и мыслить шире. А это уже “ред флаг”.
Шутки про git stat для программистов
Какое-то время назад, я начал писать программу, которая выдает ачивки программистам за стиль работы (github). Сейчас фантазия на шутки иссякла. Может вы подкинете какие-нибудь идеи в комментах? Текущий список (часть картинок ещё рисуют):
Ответ Vanek239 в «Я написал свою книгу по программированию»
Подержите мое пиво.
Итак, есть програмка. Хочется сделать ее более красивой.
Код как в изначальном примере, я тут только добавил реакцию на попытку открытия двери.
Файл Program.cs
Поехали.
Выделяем интерфейс для внешнего ввода IInput. Реализация внешнего ввода через консоль.
Файл ConsoleInput.cs
2. Выделяем интерфейс для внешнего вывода IOutput. Реализация вывода также через консоль.
Файл ConsoleOutput.cs
3. Выделяем класс "Door". Класс зависит от внешних ввода и вывода. Т.е. от интерфейсов IInput, IOutput. Внедрение зависимостей через конструктор.
По сравнению с оригиналом, логика здесь чуть-чуть была причесана.
Файл Door.cs
4. Делаем Program красивым. Program работает с IOutput и Door. Зависимости также задаются через конструктор.
В методе Main инициализируем все сущности, добавляем вызов метода Run у Program.
Измененный файл Program.cs
Итог.
"Ну и нафига все это надо?" - спросит читатель. - "Столько писанины лишней!".
Не спорю. Но дело в том что теперь:
1. Способы ввода и вывода можно менять, просто добавляя новые реализации (классы) для интерфейсов IInput и IOutput. Например, можно сделать чтение и вывод через файлы, просто создав соответствующие новые классы для этих интерфейсов и проинициализировав их в Program.cs
2. Функционал из IInput и IOutput можно использовать в других частях программы, если такие будут.
3. Наконец, можно покрыть основной код unit тестами.
Бонус.
Пример unit тестов (xUnit).
Используется Moq для подмены реализаций IInput и IOutput.
Классы Program и Door используются "настоящие" и именно их содержимое будет протестировано.
Начало файла ProgramTests.cs
Здесь изображен конструктор для тестов. Он автоматически создает Program с зависимостями перед запуском каждого теста.
Проверяем, что у нас будет на выходе IOutput, если на IInput будут определенные воздействия.
1. Тесты. Если возраст менее или равен 18.
Файл ProgramTests.cs. Часть 2
2. Тесты. Если возраст более 18.
Файл ProgramTests.cs. Часть 3
Прохождение тестов:
В принципе, здесь можно еще тестов понаписать. Например, непокрытым остался private метод EnterAge, у класса Door (обработка ошибок парсинга ввода).
Вот такой рефакторинг получился.
Исходники тут (надеюсь, что будут доступны): https://filetransfer.io/data-package/c9BtU9lp#link
Готовы к Евро-2024? А ну-ка, проверим!
Для всех поклонников футбола Hisense подготовил крутой конкурс в соцсетях. Попытайте удачу, чтобы получить классный мерч и технику от глобального партнера чемпионата.
А если не любите полагаться на случай и сразу отправляетесь за техникой Hisense, не прячьте далеко чек. Загрузите на сайт и получите подписку на Wink на 3 месяца в подарок.
Реклама ООО «Горенье БТ», ИНН: 7704722037