YouIT

Как программисту быстрее писать код: 3 простых совета

638   0   1   0 | Добавлено 160 дней назад  

Скорость написания кода программистом является одним из важнейших показателей его продуктивности на работе. Ведь чем быстрее программист пишет код, тем быстрее он воплощает требования своего заказчика в жизнь, что позитивно отражается на всех участниках процесса разработки программного обеспечения.

В независимости от того разрабатывает ли программист новый проект с нуля, исправляет дефект или дополняет существующую систему новой функциональностью, высокая скорость написания кода при удовлетворительном качестве имеет важность везде.

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


Продумывайте решение заранее

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

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

С другой стороны помните о том, что учесть абсолютно все на этапе проектирования невозможно, если конечно речь не идет о простых задачах. Поэтому в вопросах проектирования кода необходимо искать золотую середину. Чтобы с ее поисками вам было проще, придерживайтесь нескольких правил:

  • Проектируйте рабочее решение. Не приступайте к написанию кода, если по завершении стадии проектирования вы до конца не уверены как именно ваш код будет запускаться, откуда он будет брать данные, и как вообще он будет делать свою задачу.
  • Проектируйте основные сценарии использования вашего функционала. Начинать писать код можно после того, как в стадии проектирования учтены основные сценарии использования вашей задачи. Например, если вы пишите логику генерирования отсчетов, то вы должны понимать откуда будут браться входные данные, в каком виде они будут сохраняться, какие виды преобразования данных ваш код будет выполнять. А разного рода мелочи (например, отображаемый формат даты и времени) могут быть доработаны уже после реализации основного функционала.
  • Пишите код, придерживаясь принципов единой ответственности (Single Responsibility Principle) и слабой связанности (Low Coupling). Такой код будет легко изменять и расширять в случае изменения требований клиента.

Используйте сниппеты в IDE

Программист пишет код в таком инструменте как Интегрированная Среда Разработки (Integrated Development Environment, IDE). Одной из многочисленных возможностей практически любой IDE является поддержка так называемых сниппетов (Snippet). Сниппетами являются наиболее часто применяемые фрагменты программного кода, которые обычно могут быть созданы одним-двумя кликами.

Вот несколько примеров таких программных конструкций-сниппетов:

for (int i = 0; i < length; i++)
{
}

или

class MyClass
{
    public MyClass()
    {
    }
}

или свой собственный спиппет (которые можно легко можно создать в любой IDE 'под себя'):

/*мой пользовательский сниппет*/
for (int i = 0; i < length; i++) {
    if (true)
    {
    }
    else
    {
    }
}

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

Используйте код повторно

Понятие “Повторное использование кода” говорит само за себя - вместо написания некоторого фрагмента кода с нуля мы просто берем и используем уже существующий код. В результате сокращается время написания кода, и уменьшается риск наделать ошибок, имплементируя функциональность самостоятельно.

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

Ко второй группе относится ваш собственный код. Когда вы пишите код, а именно реализуете методы, классы или целые сборки, то задумывайтесь о том, возможно ли будет повторное использование вашего кода в будущем. Для написания повторного используемого кода необходимо придерживаться одного простого, но очень важного принципа объектно-ориентированного проектирования, а именно Принципа Единой Ответственности. Например, следующий фрагмент кода нарушает принцип единой ответственности, выполняя валидацию данных и их сохранение в файл в одном методе:

public bool SaveFile(File file)
{
    if (file.Extension != "pdf")
        return false;

    SaveFileToDisk(file);
    return true;
}

Если вы написали такой код для одного места программы, а потом вам потребовалась та же самая валидация в других местах, то вы должны будете выполнить рефакторинг данного метода во избежание копипасты. Рефакторинг отнимет у вас время и появится риск поломать уже работающую часть системы. Если бы автор данного кода изначально думал о соблюдении принципа единой ответственности, то он бы сразу выделил логику валидации файла в отдельный метод:

public bool Save(File file)
{
    if (!IsFileValid(file))
        return false;

    SaveFileToDisk(file);
    return true;
}

public bool IsFileValid(File file)
{
    return file.Extension == "pdf";
}

В последствии метод валидации без проблем может быть повторно использован сколько угодно раз. А теперь представьте, что у вас таких методов сотни. Экономия времени будет существенной.


Похожие статьи

Комментарии (0)

Авторизируйтесь для участия в дискуссии

Google Facebook ВКонтакте
работа программиста качество кода IT-компания обучение программированию карьера собеседование C# сертификация джуниор алгоритмы ООП энтерпрайз .NET тестирование javascript программирование эстимейты roadmaps информатика фан быстродействие базы данных