Рубрики
Без рубрики

Как настроить ваше будущее для успеха с хорошими привычками кодирования

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

Автор оригинала: Colby Fayock.

Думайте, прежде чем код. У вас есть сила, чтобы сделать ваше будущее живое небо на земле или живой ад.

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

Пересмотрение «предшествующее искусство»

Мы все были там. Шесть месяцев в проекте, вы пытаетесь выкрутить ошибку, а что вы найдете, шокирует. Вы можете спросить себя: «Кто бы написал этот код?»

Так вы копаете свой Гит Обязать историю, используя Git Log -P filename.js Показывая изменения для конкретного файла, пытаясь увидеть, кто придумал бы что-то подобное. И тогда ваше сердце падает – ты тот, кто написал это!

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

Становиться более сознательным о наших привычках кодирования

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

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

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

Так что давайте прыгнем.

Улучшение читаемости вашего кода

Какой вызов?

Часть веселья о нашем ремесе есть то, что вы можете сделать то же самое. Думаю Если Заявление слишком много строк? Ну, мы можем написать это тройное стиль!

// Example ternary statement
const isFreezing = temperature <= 32 ? true : false;

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

const minutes = 30;
const cookie = {
  color: 'black'
};

const cookieStatus = minutes > 20 ? cookie.color === 'black' ? 'burned' : 'done' : 'not done';

Что мы можем сделать лучше?

Теперь я мог себе представить, что большинство из нас могут выяснить, что Cookiestatus В этом примере (спойлеры: сгорел ). Но подумайте о том времени, когда вы провели его. Будь то дополнительные 1s или 2s, он заставляет вас проводить дополнительную когнитивную энергию для чтения через код.

С другой стороны:

const minutes = 30;
const cookie = {
  color: 'black'
};
let cookieStatus;

if ( minutes <= 20 ) {
  cookieStatus = 'not done';
} else if ( cookie.color === 'black' ) {
  cookieStatus = 'burned';
} else {
  cookieStatus = 'done';
}

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

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

И да, это простой пример. Но представьте себе это в сценарии реального мира с важной деловой логикой, где вы часто бывали в эти ситуации.

Скажем, вам нужно добавить еще одно условие – этот тройник просто собирается получать более сложные! Вы просто делаете труднее отлаживать или продлить, где Если Заявления могут продолжаться в легко читаемом способе.

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

Сохранение вещей соответствует

Какой вызов?

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

// Jim's code style

function MyComponent() {
  function handleOnClick() {
    alert('Click!')
  }
  return (
    
  )
}

// Creed's code style

const MyComponent = () => ;

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

И никто не прав (кроме не полуколков)! Есть действующие аргументы для большинства стилей кода, будь то для или против, но решение не для всех, чтобы записать свой код своим путем.

Что мы можем сделать лучше?

Содержание кода согласуется важно для поддержания здоровья кода. Типичная цель – «сделать кодовую базу выглядеть как один человек, написал это».

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

И достижение этого не нужно быть сложно. Есть инструменты, которые могут просто Проверьте наличие этих несоответствий как Eslint для JavaScript. И еще лучше, есть еще один уровень инструментов, таких как Прекраснее что исправит это для вас !

Комментируя свой код

Какой вызов?

Поддержка комментирования вашего кода является важным способом поставить контекст сложной логики. Как мы все хотим, чтобы наш код быть самообязативным, это редко так.

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

Что мы можем сделать лучше?

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

// DONT CHANGE - WILL STOP MAKING MONEY

const shouldMakeMoney = true;

function makeMoney() {
  if ( shouldMakeMoney ) {
    return noMoney;
  }
  return moreMoney;
}

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

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

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

Документировав ваши решения

Какой вызов?

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

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

Что мы можем сделать лучше?

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

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

/**
 * DOCUMENTATION
 * Order Total >= 25: Discount %10
 * Order Total >= 50: Discount %15
 * Order Total >= 100: Discount %20
 * Order Total >= 75: Free Shipping
 */

const orderSubTotal = 84.00;
let orderTotal = orderSubTotal;

// If the order total is under 75, apply shipping discount

if ( orderTotal < 75 ) {
  orderTotal = addShipping(orderTotal);
}

// If the order total reaches a threshold, apply given discount

if ( orderTotal >= 100) {
  orderTotal = applyDiscount(orderTotal, .2);
} else if ( orderTotal >= 50 ) {
  orderTotal = applyDiscount(orderTotal, .15);
} else if ( orderTotal >= 25 ) {
  orderTotal = applyDiscount(orderTotal, .1);
}

Это минимальный пример, но мы можем видеть разницу между правилами сверху и как мы их применяем. Документация должна четко объяснить, что являются правилами, но это не следует заботиться о том, как эти правила были реализованы.

С другой стороны, комментарии могут не заботиться о том, что являются правилами, но должны реализовывать их эффективным и логичным способом. Мы должны быть в состоянии обновить код с бизнес-правилами, такими как изменение уровня дисконтного уровня верхнего уровня от 100 до 80 долларов, без переработки кода.

Но документация гораздо больше, чем бизнес-правила – это обеспечивает способ, которым кто-нибудь понять вашу работу с более высокого уровня. Это может включать в себя что-либо из архитектурных диаграмм к теории позади вашего основного алгоритма.

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

Создание эффективных запросов на тягу

Какой вызов?

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

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

Что мы можем сделать лучше?

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

Мы даже можем использовать такие инструменты, как шаблоны Pull запроса, чтобы подтолкнуть нас в правильном направлении. Определите план того, что вы хотите объяснить и шансы, люди будут следовать за этим контуром. Это помогает избежать 1 строки «закрывает [билет]» или еще хуже, пустое описание.

С моими проектами, я надеюсь, что ответить на несколько вопросов, прежде чем погрузиться в обзор кода:

  • Что такое изменение?
  • Что это влияет?
  • Как мне воспроизвести или проверить изменения?

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

Утверждение вашего кода с тестами

Какой вызов?

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

Без них мы остались с человеческой ошибкой, где независимо от того, насколько хорош ваш инженер QA (Shoutout на мои тестеры там), что-то всегда будет проскользнуть. И это не значит, что ваши тесты всегда будут ловить каждую проблему, но мы можем использовать инструменты, доступные для предотвращения этого.

Что мы можем сделать лучше?

Где комментарии являются способом предоставления контекста того, как что-то работает, тест – это способ обеспечить работу. Предоставление тестовых случаев, которые повторяются, помогают обеспечить этому.

function applyDiscount(value, discount) {
  const discountAmount = value * discount;
  return value - discountAmount;
}

expect(applyDiscount(10, .1)).toEqual(.9);
expect(applyDiscount(532151235, .1054)).toEqual(476062494.831);

Если я поэтурую математику на наших NatsoDiscount Функция выше, существует высокая вероятность того, что тест потерпел неудачу (никогда не говори никогда).

Но тестирование не должно быть трудно. Есть много инструментов там, которые помогают с разных перспектив. Например, вы можете использовать Jest Чтобы запустить свои модульные тесты или добавить Фермент сверху, чтобы проверить ваши реактивные компоненты. Но вы также можете принести Кипарис В качестве решения для тестирования интеграции, которое будет работать как робот, нажав через ваше приложение, чтобы убедиться, что все компоненты на самом деле работают вместе.

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

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

Что мы можем извлечь из этого?

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

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

Ищете больше, чтобы учиться?

Какой у вас советы по выращиванию как разработчик?

Поделись со мной в Twitter!

Оригинал: “https://www.freecodecamp.org/news/set-future-you-up-for-success-with-good-coding-habits/”