Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (39)

Лучшие ответы пользователя

Все ответы (57)
  • Как вы используете git при разработке в одиночку?

    @carbon88
    .NET developer/ORM developer
    Конечно сложно себя дисциплинировать. Но когда вырабатывается привычка, то стараешься писать осмысленные комментарии к комитам. Особенно когда нужно что-то найти в десятке тысяч комитов, тытаешься делать так чтобы было понятно по описанию комита. Иначе придется постоянно копаться в самих изменениях комитов, чтобы найти то, что нужно. По сути, в пределах отдельной ветки которая названа более-менее нормально (а мы стараемся делать именно так, ветка на каждый task или issue и по завершению закрывать и сливать с основной) можно и писать менее осмысленные комментарии.

    Нужно себя пересиливать, выдавать себе люлей раз начальника нет хотябы полгодика, типа "какого х.. тут ты понаписал этот бред!? ни..я ведь не понятно что да как в этом комите!". Потом втянитесь и скилл наработаете. Мне было лениво писать хорошие комменты комитов, когда английский был не очень (все только на нем, даже в коде описания и комментарии только на нем), сложно было попросту. А сейчас подтянул, словарный запас поднатаскал, скилл наработал и проще сформировать мысли при комите.

    В общем будьте самокритичнее и требовательнее к себе. Или вы, извиняюсь, настолько тряпка что не можете дать себе "бодрящего пенделя" когда это надо?
    Ответ написан
  • Async-await и Task.wait() В чем разница?

    @carbon88
    .NET developer/ORM developer
    Task.Wait() будет блокировать вызывающий поток, а await не будет этого делать.
    Так называемый continuation (то что ниже await) будет выполнен после завершения таска, что ожидается через await. При этом вызывающий поток блокироваться не будет и сможет выполнить еще какую-то работу, например, среагировать на нажатие кнопки если это основной поток GUI приложения или если это асп.нет приложение он сможет начать обрабатывать следующий запрос.
    Как только таск выполнится начнется исполнение continuation и в некоторых случаях не гарантируется что это будет тот же поток в котором выполнялся код до await.
    Ответ написан
  • Какой выбрать алгоритм для решения задачи?

    @carbon88
    .NET developer/ORM developer
    Так вроде это классическая задача коммивояжера. В википедии описаны алгоритмы решения этой задачи. Проанализируй все и выбери оптимальный.
    Ответ написан
  • Можно ли выкладывать в портфолио свои работы сделаные в студии?

    @carbon88
    .NET developer/ORM developer
    По законодательству, насколько я знаю, все исключительные права на то, что вы делаете (создаете, пишите код и прочее) в рамках исполняемой должности принадлежат организации на которую вы работаете, если в договоре не оговорено иное. За вами может быть авторство, но авторство это несколько иное нежели исключительные права. Вам нужно было договориться с начальством, о том можете ли вы внести в свое портфолио проекты, которые вы делали в рамках исполняемой должности. Но студия имеет полное право не давать согласие, если она является держателем исключительных прав. Конечно, если в договоре прописано иное и есть пункт о таких случаях, то следует действовать в рамках договора.
    Ответ написан
  • Как часто Вы разбиваете описание одного класса на несколько файлов через partial?

    @carbon88
    .NET developer/ORM developer
    Разбиваем. Ничего плохого не вижу, все зависит от класса, как и везде главное не переборщить.

    У нас есть классы, которые берут на себя много работы и, соответственно, в них много кода. его нужно как-то группировать по функциям. тут либо делать region-ы либо распихать по файлам и обозначить класс как partial

    приведу простой пример когда я бы разделил. есть класс, у него есть какие-то методы отвечающие за работу, свойства, поля и сравнительно большое количество event-ов. вероятность того что эти самые эвенты будут часто просматривать не очень велика, в основном смотрят методы потому что в них основная работа. соответственно чтобы эти эвенты глаза не мозолили их можно:
    1) запихать в region и свернуть. но! это дело у кого-то будет свернуто у кого-то нет, при поиске по файлу регион, опять таки, может быть развернут и его опять нужно свернуть. неудобненько.
    2) договориться убирать эти эвенты в самый конец файла. но! они же когда-нибудь могут понадобится и листать в конец не очень приятно.
    3) сделать класс partial и переместить часть с эвентами в отдельный файл. в какой нибудь SuperAwesomeClass.Events.cs. что мы этим добьемся? расчистим основной файл от редко просматриваемых членов класса, группируем некий код по смыслу, получаем быстрый доступ к эвентам если нам понадобится в них заглянуть и они точно будут все и в одном месте.

    но это лишь мое имхо.
    Ответ написан