Рубрика «software development» - 2

Перед вами перевод статьи из блога Better Programming на сайте Medium. В ней программист Daan делится простыми правилами, следуя которым вы сможете давать хорошие имена функциям и переменным.

Как придумывать содержательные имена для вашего кода - 1

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

Так как мы проводим столько времени присваивая имена, очень важно делать это качественно. В данной статье я расскажу вам о нескольких простых правилах, следуя которым вы сможете создавать хорошие имена. Ведь это целое искусство!
Читать полностью »

What's this about

After working on different projects, I've noticed that every one of them had some common problems, regardless of domain, architecture, code convention and so on. Those problems weren't challenging, just a tedious routine: making sure you didn't miss anything stupid and obvious. Instead of doing this routine on a daily basis I became obsessed with seeking solution: some development approach or code convention or whatever that will help me to design a project in a way that will prevent those problems from happening, so I can focus on interesting stuff. That's the goal of this article: to describe those problems and show you that mix of tools and approaches that I found to solve them.

Читать полностью »

Друзья, в преддверии майских праздников мы решили не заваливать вас сложными техническими статьями, поэтому нашли довольно интересный, а главное, легкий в прочтении материал, переводом которого с радостью делимся с вами. Данный материал мы хотим приурочить к запуску курса «Web-разработчик на Python».

С оригиналом можно ознакомиться тут.

Представляем Tartiflette: реализацию GraphQL с открытым исходным кодом для Python 3.6+ - 1

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

В конце концов, проведенный самоанализ подтвердил то, что мы уже знали: мы хотели территориально распространять нашу платформу и разрабатывать API-интерфейсы, мобильные и ТВ-приложения. Это ознаменовало отказ от нынешней монолитной структуры и принятие API-ориентированного подхода. В этой статье описан путь, по которому мы шли.
Читать полностью »

Представляем вашему вниманию перевод статьи Scott Domes, которая была опубликована на blog.bitsrc.io. Узнайте под катом, почему компоненты должны быть как можно меньше и как принцип единственной ответственности влияет на качество приложений.

Крошечные компоненты: что может пойти не так? Используем принцип единственной ответственности - 1
Фото Austin Kirk с Unsplash
Читать полностью »

Перед вами перевод статьи Manjunath M, которая была опубликована на Bits and Pieces. Мы предлагаем прочитать ее тем, кто уже преодолел этап подготовки к миграции и приступает к следующему шагу.

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

Надежная стратегия миграции в облако в 2019 году: 7 советов - 1

Читать полностью »

Представляем вам перевод статьи Sukhjinder Arora, опубликованной на ресурсе Bits and Pieces. Узнайте под катом о функциях высшего порядка в JavaScript и о некоторых других функциях, встроенных в этот язык.

Функции высшего порядка в JavaScript: что это такое? - 1
Фото NESA by Makers с сайта Unsplash
Читать полностью »

В статье про тестирование public-методов коснулся юнит-тестирования приватной логики классов. Думаю, мне стоило бы переделать тезис, так как большинство, на мой взгляд, восприняло, что речь идет о тестировании именно private-методов, хотя речь шла о приватной логике. В этой статье хочу проиллюстрировать практическим примером главный тезис. Под катом пример с небольшим анализом.Читать полностью »

Почему я не веду разработку ПО в Trello? - 1

Я давно являюсь поклонником Trello. Чтобы вы понимали, я пользовался Трелло с 2011 года — именно тогда он вышел на рынок. В этой статье я хочу рассказать о том, чего не хватает в Трелло разработчикам ПО и что с этим можно сделать.
Читать полностью »

Разработка через тестирование (TDD) – отличный способ повысить качество и надежность кода. Этот же подход может быть распространен и на разработку требований. Он называется "Разработка через приемочные тесты" – acceptance test driven development (ATDD). Сначала я присматривался к этому подходу, потом пробовал применить, потом долго тюнинговал, чтобы приспособить его под мои нужды, и теперь хочу поделиться мыслями. И для себя еще раз разложить все по полочкам.

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

Читать полностью »

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

Вот мои 3 (+1 бонусная) наиболее распространенные рекомендации по код-ревью.

image

Рекомендация 1: Выбрасывайте исключения, если что то идет не так

Зачастую паттерн выглядит так:

List<String> getSearchResults(...) {
  try {
    List<String> results = // make REST call to search service
    return results;
  } catch (RemoteInvocationException e) {
    return Collections.emptyList();
  }
}

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js