Поиск по сайту:
Эта теорема пригодна лишь для спора о ней (Г. Лихтенберг).

7 инструментов кодирования, которые максимизируют вашу эффективность

03.07.2024
7 coding tools that will maximize your effectiveness

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

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

 

Сегодня мы рассмотрим эти 7 инструментов:

  • I3 Window Manager
  • Vim
  • Bash
  • Функциональное программирование
  • Reflect
  • Regex
  • RegExr
I3 Window Manager

1. I3 Window Manager

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

I3 – это легкий оконный менеджер с открытым исходным кодом для Linux. Оконные менеджеры используются для управления внешним видом и размещением окон на экране. Менеджеры тайлинговых окон делают еще один шаг вперед, автоматически изменяя размер и перестановку окон, чтобы всегда использовать полноэкранное пространство без перекрытия. Эта плитка работает поверх графического интерфейса пользователя вашей операционной системы (GUI), позволяя вносить изменения напрямую.

Вот несколько отличий I3 Window Manager (i3wm):

  • Легкий вес: I3 прост и эффективен. Он содержит только основные функции без лишних хлопот и специально разработан для разработчиков, использующих минимальную вычислительную мощность.
  • Управление с клавиатуры: В I3 встроено множество сочетаний клавиш для любого желаемого поведения. Вы также можете добавить дополнительные сочетания клавиш непосредственно в свой config файл. Вы можете перемещать плитки, открывать терминал, изменять макеты и многое другое, не прикасаясь к мыши.
  • Общее использование экрана: Благодаря использованию тайлинга I3 гарантирует, что вам никогда не придется искать одно окно по куче вкладок. Вы можете открывать столько плиток, сколько захотите, при этом минимизируя нагрузку на глаза благодаря большим окнам. Такая система плиток идеально подходит для системных администраторов, которым требуется несколько терминалов, или для всех, кому нужны терминалы тестирования и чернового ввода.
  • Пользовательские темы: Внешний вид I3 полностью настраивается в соответствии с вашими эстетическими предпочтениями. В операционных системах, таких как Windows или macOS, определенные визуальные элементы являются неизменяемыми. С I3 вы можете настроить каждый дюйм экрана. Точно настройте фон, внешний вид / поведение окна, вид уведомлений и многое другое.

Совет эксперта: рабочие пространства с I3

Один из самых полезных инструментов I3 – это возможность группировать окна в пронумерованные рабочие области. Разработчики часто устанавливают рабочие области для разных частей своего рабочего процесса. Вы можете быстро переключаться между рабочими областями, нажимая super и указывая указатель рабочей области. Это скроет все текущие окна и расположит окна выбранной рабочей области.

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

 

Vim советы и приемы, которые вы, вероятно, никогда не слышали

2. Vim

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

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

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

Читать  Передайте именованный аргумент в сценарии Bash

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

Совет эксперта: Настройте ярлыки Vim, используя принцип DRY

Одна из основных парадигм, которой придерживаются программисты, проста: не повторяйтесь.

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

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

 

Как сравнивать числа в Bash

3. Bash

Bash – бесплатная оболочка Unix, разработанная для проекта GNU. Долгое время она использовалась как оболочка входа по умолчанию в Linux, а совсем недавно – в macOS и Windows 10. Помимо логинов, Bash поддерживает сотни команд, которые можно вызывать из приложения.

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

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

Обходя настольные приложения, Bash может работать более эффективно и часто позволяет выполнять более специализированные задачи.

Совет эксперта: используйте свою историю ошибок

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

История с поддержкой нескольких окон

По умолчанию Bash записывает историю только с первого открытого экземпляра, в то время как все последующие окна теряют свою историю. Следующая команда позволяет всем активным окнам Bash записывать данные в историю, поэтому вы больше никогда не потеряете команду. shopt -s histappend

Повторите последнюю команду

Повторение последней выполненной команды – обычная функция в Bash. Вы можете ввести любую из следующих 4 команд:

  • Нажимайте клавиши со стрелками вверх, чтобы просмотреть последнюю команду и enter выполнить ее
  • Нажмите ctrl+p, чтобы просмотреть последнюю команду и enter выполнить ее
  • Введите !! в командной строке
  • Введите 1-! в командной строке

 

Вы можете добавлять дополнительные элементы к командам, повторяющимся с помощью !!, включая их до или после: sudo !!

Обратная история поиска

Вы можете просмотреть историю предыдущих команд в Bash. Просто нажмите ctrl-r и начните вводить поиск, чтобы Bash автоматически заполнился соответствующими строками. Если несколько строк совпадают, нажмите ctrl-r еще раз, чтобы просмотреть их.

 

Функциональное программирование

4. Функциональное программирование

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

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

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

Читать  Шаблон соответствия в заявлении case в Bash

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

Допустим, я хотел создать программу, которая начинается с n, затем переходит n в function1 и, наконец, передает результат function1 в function2. Давайте посмотрим, чем это отличается от псевдокода:

Блочный подход

int n =5;
n = function1(n);
n = function2(n);
return n;

 

Функциональный подход

int n =5;
return function2(function1(n));

 

При функциональном подходе у нашей функции нет побочных эффектов, поскольку n значение используется, но никогда не меняется. Перейдя function1(n) непосредственно в function2, а не в дополненный n способ, мы решили проблему декларативно.

Совет эксперта: функциональное мышление, а не язык

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

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

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

 

Reflect

5. Reflect

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

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

Вот как это работает:

  1. Войдите в режим “записать тест”
  2. Загрузите текущую рабочую страницу вашего сайта
  3. Выберите функциональность, которую вы хотите протестировать
  4. Прекратите запись теста; это сгенерирует тестовый скрипт для репликации ваших кликов
  5. Введите URL тестовой версии вашего сайта
  6. Активируйте тестовый скрипт
  7. Просматривайте записанные результаты сайта.

 

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

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

Короче говоря, Reflect становится популярным среди разработчиков из-за своей простоты, повторяемости и точности.

Совет эксперта: расширенные функции Reflect

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

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

 

6. Regex

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

В Bash есть уникальный оператор регулярных выражений, =~ который выполняет поиск совпадений с заданным шаблоном регулярных выражений. Например, if [[ $digit =~ [0-9] ]]; then будет выполнять поиск в строке любого экземпляра digit.

Помимо Bash, как Python, так и Java поддерживают параметры regex.

Читать  Экспорт переменных Bash

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

В целом, они быстры в освоении, широко понятны и обладают большим потенциалом сложности. Изучение regex – отличный способ расширить свой набор навыков и предоставить вам доступ к мощному инструменту на Bash, Java или Python.

Совет эксперта: очистка веб-страниц с помощью regex

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

Существует множество приложений для этого, например, вы можете искать на сайтах конкурентов их цены на данный продукт:

    $:\s+([^\s]+)

 

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

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

 

RegExr

 

7. RegExr

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

^(http|https|ftp):[\/]{2}([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})(:[0-9]+)?\/?([a-zA-Z0-9\-\._\?\,\'\/\\\+&%\$#\=~]*)

 

Вы можете ясно видеть, насколько сложными они могут стать.

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

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

RegExr

 

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

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

Совет эксперта: избегайте длинных регулярных выражений

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

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

 

Подведение итогов и увеличение ресурсов

На этом мы завершили наш обзор 7 инструментов и программного обеспечения, которые помогут вам стать более эффективным программистом. От Vim до Reflect и RegExr мы рассмотрели некоторые из наиболее используемых и любимых инструментов, предлагаемых разработчиками, для разработчиков.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Хотя у Nvidia явно были планы выпустить RTX 4090 Super,…

Спасибо!

Теперь редакторы в курсе.