All streams
Search
Write a publication
Pull to refresh
293
0
Philipp Ranzhin @fillpackart

Король разработки

Send message
Клиентов всех мы сами разрабатывали, я поменял контракт и во всех клиентах переделал вызовы методов либы.
Насчёт перезда, и денег жалко было, и переезжать не хотелось. Для детей и так был огромный стресс засыпать на новом месте.

Тег поставил.

Легаси было на шарпах.

Вот самый дикий кейс, что я там встретил выглядел примерно так
Есть методы. которые забирают что-то с апишки. Внутри них зачем-то вызывается универсальный механизм запроса на дженериках, который возвращает нужный инстанс модели ответа.
Типа такого:
class UserResponse 
{
  string Name {get; set;}
  ...
}

Так вот, во время запроса что-то могло пойти не так, и в этом случае этот универсальный механизм создавал инстанс модели ответа через РЕФЛЕКСИЮ. Причём не всегда, несколько видов ошибок он умел обрабатывать, и плеваться исключениями.

public async Task<T> FetchData<T>(string url)
{
  try
  {
    return await SomeHelper.Fetch<T>(url);
  }
  catch(SomeExeption e)
  {
    throw new SomeAnotherException(e);
  }
  catch(Exception)
  {
    return (T)Activator.CreateInstance(typeof(T));
  }
}


Это, конечно, создавало массу проблем. В клиентском коде часто невозможно было отличить валидный ответ от невалидного, классы респонсов не могли иметь конструкторы с параметрами, и я не мог использовать ООП, что бы моделировать возможные типы ответов (есть же не просто валидный и не валидный, валидных типов ответов в нескольких запросах могло быть по пять штук).

Вообще лучший способ понять качество кода, это посмотреть, насколько хорошо в этом коде организована работа с исключительными случаями.
Да, и мы отлично знаем ответ. Нисколько, собеседование — это не работа, и всем совершенно плевать на качество этого процесса. Хотя есть ощущение, что те, кто подходит к делу серьёзнее — ещё опасней
Вообще появляются, но ищут их больше не на хедхантере, а по своим друзьям
Почитал бы про сравнения с другими ЯПами. Мне вот наиболее простыми и лаконичными кажутся F# и TypeScript, но это из тех, у которых для меня минимально достаточно возможностей
Да, я бы правда рекомендовал всё же картинку какую-нибудь к статье добавить. Не очень приятно, когда люди не читают твою статью просто потому, что не зацепились за неё взглядом
И всё идёт нормально, 0 минусов)
Ну, по моему опыту как раз статьи минусуют очень мало. Особенно если они без рекламы и без самомнения
Это вообще-то троллинг был. Я написал статью про то, что формальная оценка — чушь, и в конце статьи предложил ещё одну такую же.
Всё просто, чем лучше разраб — тем темнее тема
В общем случае, я не из тех людей, которые поступают правильно, так что ничего странного
Стал жить как король, покупал всё подряд. Хз почему, но я вообще не задумывался, могу я себе это позволить или нет
Такие обычно легко отличить по слишком широким вилкам вроде 30 — 280 к
У меня так не сработало. Вся довольно крупная сумма ушла за несколько дней, и я с горящей задницей срочно искал новую работу
Не ущемляет ВО ВРЕМЕНИ? Ты жестоко ошибаешься.
Скажем, в 22 года я не был самым вдумчивым человеком на земле
Ну вот я отлично знал, что нельзя заводить детей, если ты нищий. Но я всё равно их завёл, пришлось разбогатеть
Когда человек уже не спланировал такие вещи заранее, ему ваши советы только боль причиняют

Information

Rating
Does not participate
Location
Иваново, Ивановская обл., Россия
Works in
Date of birth
Registered
Activity