Pull to refresh
73
0
Артём @Artem_7

User

Send message

Ирония в том, что слово "нейминг" - это транслитерация, которая является антипаттерном при "нэйминге" :) Поэтому я использовал русское слово "именование" в названии статьи. Но плакат назвал Naming Convention. Ирония в квадрате :)

Спасибо за статью. Забавно, что инвайт на Хабр я получил 10 лет назад именно за статью о нэйминге (https://habr.com/ru/post/207102/). Я уже и сам не согласен с частью правил, которые там озвучил. Но большинству следую и по сей день (да, устав бороться с разработчиками, я ,в итоге, сам стал разработчиком).

Стикеры в тему:

"Нэйминг - это фундамент, на котором возводится небоскреб проекта. "

"Не умеешь в нэйминг - меняй профессию"

"Театр начинается с вешалки, а программирование с нэйминга"

Список из топика совпадает с моим почти на 100%. Но хочется дополнить:

  1. Вообще не увидел ничего о бэкапах данных. Лично сам использую Personal Backup (лет 15 уже).

  2. Хранилка паролей - KeePass

  3. Еще хочу упомянуть Home Media Server. Сейчас почти не использую, так как давно работает NAS от Synology с DLNA-севером из коробки. Но иногда пригождается

Это преувеличение. Умеющих решать проблемы - очень мало, а умеющих нанимать умеющих решать проблемы - еще меньше. Поэтому нанимают кодеров и надеются на чудо.

Тоже заметил в посте злорадство по отношению к специалисту и не согласен с такой окраской. По факту-то, конечно, все так и есть. Ищут и нанимают максимально абстрактных "винтиков", которые могут писать, что угодно, но строго по ТЗ. А тех, кто реально разбирается - не ищут и не ценят. И это беда современного ИТ бизнеса и мира в целом.

З.Ы. Сам прошел путь героя поста. 16 лет в одной организации. Проблемы со сменой места работы. В итоге ушел с понижением зарплаты с техлида на разраба. За год - вернул прежний уровень, за два - сделал х2 и стал техлидом. Но от кармы - не убежишь. Я не умею работать по другому. Я снова больше решаю проблемы бизнеса, чем кодирую по спеке. И на рынке моя ценность снова падает. Любой разработчик из моей команды для потенциального работодателя стоит дороже, чем я. Хотя я без таких, как они, работать могу, а они без таких, как я, - нет.

А вот меня в институте учили (еще в 90-ые!!!), что ТЗ пишет исполнитель на основе тех. требований от заказчика. Т.е. этапы такие:

  1. Тех. требования. Пишет заказчик. Отвечают на вопрос "чего надо?"

  2. ТЗ. Пишет исполнитель. Отвечают на вопрос "Как поняли и что будем делать?". Утверждаются заказчиком

  3. Тех. проект. Пишет исполнитель по факту выполнения работ. Отвечают на вопрос "Что в итоге сделали?"

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

У меня подобное было с декларацией на вычет. Декларацию мою проверили, она перешла в статус "Ожидает заявления на возврат сумму излишне уплаченного налога". И кнопка "Заполнить заявление". При нажатии отображалась форма с суммой возврата "ноль". Поменять сумму было нельзя. Кнопку "Дальше" нажать нельзя, так как сумма ноли и возвращать нечего.

Оказалось в итоге, что есть секретное место с другой ссылкой "заполнить заявление", где сумма заполнялась автоматом. Сам я, естественно, найти это место не смог. Мне саппорт ссылку прислал по почте

Я вообще на стороне Васи. Вася - айсберг. То что торчит - то и видят. Не понимают Васю, но быть, как Вася не могут

Все зависит от того, что ты делал до 40. Конечно, количество вакансий сильно снижается, и это печалит. Но пока в стране остались рабочие места, где ценят умение думать, а не кодить по спеке, - жить можно.

З.Ы. Кстати, с начала пандемии даже мое резюме с двадцатилетним стажем в IT периодически интересует эйчаров. Думаю, что при необходимости работу сменить будет можно, но надо быть морально готовым к Х/2. Но это лучше, чем сторожем за Х/20

Я для себя давно выработал правило: "невозможно научить, можно научиться". Т.е. без начального желания ученика перенять знания любые старания учителя не более, чем трата энергии. Талант учителя - заинтересовать, т.е. пробудить желание учиться. А дальше сам. А то, что вдолблено организм рано или поздно отторгнет, как инородное тело.

Правда в том, что большинство не хочет обсуждать чужие проекты. Не хочет погружаться и вникать. И придут к вам только в двух случаях: а) за помощью те, кто уперся рогом, решая подобную задачу; б) плюс те, кого вы смогли увлечь легкой и интересной подачей материала («маркетингом»). И так будет на любой площадке.

Моя, более чем десятилетняя, жизнь на Хабре — прекрасная иллюстрация вашей статьи. Свой первый пост я писал 2 месяца — анализировал, структурировал, формулировал. В результате получил только инвайт и пару комментариев от несогласных. Вторую писал за вечер и на спор (поспорил с коллегами на коньяк, что смогу набрать 100 плюсов). По результату выиграл три бутылки и пришел к тем же выводам, что и вы. С тех самых пор только читаю и изредка оставляю комментарии. Такие дела.
История неожиданно ушла в твиттер (ссылка), у меня аккаунта в твиттере нет, поэтому напишу пояснения здесь.
Банк — не Сбер, а Левобережный (Новосибирск). Уточню, что контора не меняла зарплатный проект (нашел скан заявления своего), а меняла карты (переходили на VISA), т.е. мы не заключали договор, а писали заявления на выдачу новой карты.

Самое забавное, что молодой человек номер два работал со мной в одном кабинете (мы были мало знакомы — разные отделы, то виделись каждый день). Т.е. два раза в месяц (аванс и зарплата) на протяжении полугода он слышал мои громогласные маты про себя, — я при получении очередной СМС в выражениях не стеснялся. Он даже принял участие в паре кабинетных конкурсов на лучшую идею, как напакостить мистеру Икс.

Когда все открылось, мне было очень неловко. Слава богу, что он не слышал мои «юмористические» предположения о его покупках и оценки его любимых мест для снятия наличных. По понятным причинам, в момент получения СМС о списаниях с карты, его в кабинете не было.

З.Ы. Мой номер телефона «друзья по карте» смогли отвязать в ЛК банка. Молодой человек, спустя еще полгода, уволился. Девушка, вроде, еще работает — видел ее этой зимой (до карантина).
З.З.Ы. Моя карта VISA валяется где-то в коробке с документами. Оказалось, что в банке по картам зарплатного проекта есть неизменяемый годовой лимит. Т.е. к апрелю-маю она превращается тыкву. Пришлось выпускать к счету еще одну карту (за деньги), которая лимитов уже не имеет
Мне повезло, что мои друзья по картам были из моей же конторы. Иначе бы не вычислил. У ребят из банка, судя по всему, для ускорения ввода заявлений форма не очищалась. И они для нескольких заявлений бахнули один и тот же номер. А когда к ним пришли клиенты с жалобой на отсутствие СМС — просто добавили доп. номер, не убрав старый.
У нас пару лет назад зарплатный проект переводили в другой банк. Представители банка приехали в контору и мы потоком оформляли договоры и заявления. Через пару дней мне стали приходить смс по операциям с двух чужих карт. Позвонил в банк, мне сказали, что отвязать свой номер от чужого счета я не могу. Опа-па! Мою просьбу уведомить владельцев счетов оставили без внимания.

Первую девочку я поймал быстро. Она часто снимала деньги в банкомате на первом этаже конторы. Курю как-то на крыльце, приходит смс, врываюсь в холл — здрасте, я ваш друг по карте. От девочки я узнал, что номер телефона был не перепутан, а к ее счету было две привязки. Т.е. девочка тоже получала свои смс.

Второго я ловил полгода. Он снимал деньги очень редко — не более одного раза в месяц. Я знал про него все — оклад, сумму накоплений, места, где он бывает (в смс приходили адреса банкоматов). И вот однажды его карта была пополнена в нестандартное время на нестандартную сумму. Отпускные! Я вычислил по окладу, что чувак взял 3 дня. Корпоративная система контроля отпусков мне вернула семь фамилий с отпусками в три дня в текущем месяце. Четыре фамилии отпали сразу. У нас зарплату переводят по алфавитному списку, его смс приходила всегда раньше моей, значит по алфавиту от был раньше меня. Дальше просто — на корпоративном портале у всех указаны мобильники. Перевод 1 рубля по номеру телефона и тут же смс о зачислении. Привет, друг, как долго я тебя искал!
Мы бы каждый слой покрывали тестами отдельно. У вас 4 слоя:
1. Контроллер
2. Бизнес-слой
3. Слой работы с БД
4. Слой работы с очередью сообщений.

Контроллер работает только с бизнес-слоем (вызывает метод SignUpUser). Мокаем бизнес-слой. Тесты на контроллер проверяют только логику контроллера: аутентификацию, валидацию входящего DTO и поведение (реакцию контроллера) на разные варианты ответа бизнес-слоя (happy path, exception и т.п.)

Бизнес-слой работает со слоем БД и слоем очереди. Мокаем и то и другое и проверяем реакцию бизнес-слоя на различные варианты отклика от тех. слоев.

Слой работы с БД уже можно проверить на in-memory db. У вас две функции (поиск и создание пользователя), на каждую пишем свои тесты со своими данными.

Слой работы с очередью — по вкусу. Там явно будут вызовы функций какого-то фреймворка. Мокаем их и проверяем реакцию на описанные в доке исключения + happy path/
Да, S7. Но я не думаю, что у других по другому. Да и, вообще. Хотите изоляцию? Как минимум — обеспечьте трансфер из аэропорта по основным направлениям. Новосибирск не такой большой город. Сделайте суточный отстойник для багажа (или сколько там вирус живет на вещах?). Сделайте нормальную памятку. Не из пунктов, что нельзя, а из пунктов, как нужно и можно. Организуйте доставку скоропортящихся продуктов (хлеб, молоко и т.д.) и воды, обеспечьте вывоз мусора. Укажите телефоны всех служб в этой памятке.

А то, как сейчас — не более, чем показуха и профанация. Такая изоляция никак не влияет на распространения вируса. Всех пассажиров встречают родственники. С лобзаниями и слезами радости. Завтра все эти родственники пойдут на работу. Потенциальный носитель вируса может заразить целую цепочку людей и вещей: багаж, экипаж, сотрудников аэропорта, родственников, таксистов и так до бесконечности. Но нет, государство будет штрафовать тех, кто выносит мусор, печатать приказы задним числом и заводить уголовные дела за несоблюдение правил, которые соблюсти невозможно.
Выскажу свое мнение по теме, — тетка ни в чем не виновата. Вижу в раздувании этого дела только одну цель: замаскировать неумение и нежелание нашего государства четко и своевременно решать проблемы. Куда проще найти крайнего и возложить ответственность на него.

Героиня статьи — только один из примеров. Штрафы для нарушивших режим самоизоляции из той же оперы. Людей ставят в рамки, который соблюсти нереально в наших условия. Кто-то что-то контролирует? Сомневаюсь. Но если в итоге человек заболеет, да еще других заразит — всё, всю ответственность можно возложить на него. Он, такой-сякой, мусор вынес!

Я вот только сейчас вернулся из аэропорта (Толмачево, Новосибирск). Встречал жену из Таиланда. Только один сотрудник аэропорта был в маске. В обычной — однослойной. В перчатках никого. Стюардессы на рейсе так же без масок и перчаток. Беспрецедентные меры? О чем вы? С пассажиров собрали контакты и выдали памятки, по которым они обязаны самоизолироваться на две недели. А как же персонал аэропорта, экипажи? Они работают в режиме сутки через четырнадцать? Или они невосприимчивы к вирусам?
Как у нас:
Год-полтора назад мы отказались от develop. Вместо нее у нас живут 1..N релизных веток. Чаще всего это именно фичи-ветки, но бывает, что в один релиз входит несколько фич, если они мелкие. Но чаще всего одна фича содержит достаточно много кода, поэтому мы бьем ее на мелкие куски (задачи).

От релиза почкуется ветка задачи, как только задача готова (по разработке), создается PR в релиз и задача переходит к тестировщикам. Разработчик не ждет завершения тестирования, он берет следующую задачу из фичи (почкуется от предыдущей), по завершении создается PR в ветку предыдущей задачи. Если тестирование опаздывает, то может возникнуть «пирамида» задач и PR к ним.

Тестирование всегда работает с задачей, PR с которой идет в релиз. Правка багов всегда идет в ветке задачи. Как только тестирование завершено, тестировщик вливает задачу в релиз. Теперь в релиз «смотрит» PR следующей задачи. Тестировщик делает «обратный» merge (если были правки багов), чтобы актуализировать ветку новой задачи и берет в тестирование следующую задачу.

Как только все задачи по фичи влиты в релиз, идет установка релиза на тестовый комплекс + полная проверка фичи/фич. После чего лелиз вливается в master и удаляется.

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity