День девятьсот сорок пятый. #Оффтоп
Советы по Улучшению Ваших Навыков Разработки в .NET. Продолжение
Начало
3. Выбирайте простые решения
После того, как ваш домен создан, можно позволить вашим данным управлять дизайном, необходимым для поддержки вашего решения. В этот момент становится возможным определить преобразования данных, которые необходимы для реализации работающего продукта.
Создавая свою реализацию, вы захотите избежать ошибок в коде. На любом этапе вашей карьеры это то, чего от вас ожидают. Невозможно продумать все возможные сценарии, и это может привести к потенциальным ошибкам. Без чрезмерного усложнения решения можно свести к минимуму ошибки в кодовой базе. Простое решение - выигрышное решение.
В индустрии ПО мы существуем в быстро меняющейся среде, которая постоянно меняется и почему-то становится всё более сложной. Когда мы сталкиваемся с техническими проблемами, их редко бывает легко решить. И можно легко увлечься и создавать всё более сложные решения по мере роста опыта. Я бы сказал, что настоящее мастерство в разработке ПО состоит в том, чтобы что-то сложное казалось лёгким для восприятия.
Разработчик должен понимать проблему досконально и искать логические элементы, которые помогут ему построить рабочее решение. Хорошее решение не воплощается в жизнь с первого раза. Это итеративный подход, требующий терпения и внимательности по мере решения проблемы. Также в простом решении будет проще увидеть, как расширить его для удовлетворения постоянно меняющихся требований с течением времени.
4. Определение проблемной области
Вы должны начать с понимания контекста так хорошо, насколько это возможно. По возможности задавайте уточняющие вопросы, чтобы ещё на шаг приблизиться к решению проблемы. И только после этого применяйте свои способности решать проблемы и свой программный инструментарий. Постарайтесь понять, что вы можете решить, разбив проблему на более мелкие.
Это также поможет вам обрести уверенность в решении текущих вопросов. Только после того, как у вас будет готовое решение, вы должны искать способы его улучшения. Улучшить решение можно:
- Проверив граничные случаи в вашей реализации.
- Использовав передовые методы, такие как механизм кэширования.
- Использовав более подходящие структуры данных для вашей конкретной проблемы. Например, существует множество сценариев, в которых хеш-таблица является отличной структурой данных для улучшения вашего решения.
Независимо от того, находитесь ли вы на собеседовании, в проекте с открытым исходным кодом или в бизнес-проекте, попытка собрать как можно больше информации о проблеме поможет найти решение. При реализации решения вам следует учитывать несколько факторов:
- Вы пишете код не для машины, а для человека. Попытки использовать заумные конструкции в коде могут усложнить его чтение и понимание. По мере того, как всё больше людей будут смотреть на ваш код, вам нужно обратить внимание на то, чтобы они могли быстро понять, чего вы пытаетесь достичь.
- Если вы не пишете код для горячего пути, не переусложняйте решение. Ваша часть кода может выполняться один или два раза в течение жизненного цикла приложения, которое вы создаёте. Если скорость не является обязательным требованием, не стоит делать её приоритетом. Не пишите код низкого качества только потому, что он «быстрее».
- В зависимости от размера входных данных и контекста решение «в лоб» может превзойти оптимизированное решение. Выяснение того, сколько данных вам нужно обработать или насколько быстро вам это нужно сделать, поможет понять, как должен выглядеть ваш код.
- Без каких-либо подтверждающих данных ваш код - это просто вариант решения. Чтобы узнать, насколько быстр ваш код в вашем контексте, вам понадобятся тесты производительности. С их помощью вы можете сравнить конкурирующие решения и выбрать то, что вам нужно в вашей ситуации.
Продолжение следует…
Источник: https://kevinavignon.com/2020/12/23/guidelines-to-improve-your-software-design-skills-with-net-part-i/
Автор оригинала: Kevin Avignon
Post #1162
1.51K