Вкалывать 12 часов подряд - не равно быть продуктивным. Большинство разработчиков теряют время на рутину, которую можно автоматизировать или ускорить. Я собрал 7 лайфхаков, которые реально экономят нервы и часы. Никакой воды, только код и команды.
Забудь про git add . когда меняешь 10 файлов, а в коммит надо отправить только 3. Используй git add -p (или git add --patch). Git разобьёт изменения на «чанки» и спросит: добавить, пропустить, разделить или отредактировать. Это спасёт от случайного коммита мусора или тестовых логов. Особенно удобно, когда правишь баги по пути.
git add -p
# y - добавить чанк, n - пропустить, s - разбить на мелкие, e - отредактировать вручную
Устал вручную прогонять линтер и форматтер? Настрой settings.json раз и навсегда. Сохраняешь файл - код сам форматируется, сортируются импорты и исправляются базовые ошибки. В команде это ещё и стандарт: код прилетает в ревью уже чистым. Вставь это в настройки:
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
"source.organizeImports": true
}
}
fzf - ищешь файлы в миллисекундыКоманда find хороша, но медленна. fzf (Fuzzy Finder) - это нечёткий поиск по всей файловой системе или истории команд. Качаешь, ставишь, и в терминале работаешь как бог: Ctrl+T - найти файл, Ctrl+R - найти команду из истории. Забудь про стрелочки вверх на 50 раз.
# Установка
sudo apt install fzf
# Использование: нажми Ctrl+T в терминале и начни печатать имя файла
console.table() вместо console.log() кучи объектовКогда в консоль сыпятся 5 массивов или объектов, глаза разбегаются. Используй console.table(). Он выводит данные в виде аккуратной таблицы прямо в инструментах разработчика. На порядок читаемее, особенно когда нужно сравнить поля объектов. Пример:
const users = [
{ id: 1, name: 'Анна', role: 'admin' },
{ id: 2, name: 'Борис', role: 'user' }
];
console.table(users);
// Вывод: таблица с колонками id, name, role
git stash с меткой - не теряй контекстСрочно переключили на другой баг, а у тебя грязная ветка? git stash сохранит изменения, но через неделю ты уже не вспомнишь, что там лежало. Добавляй сообщение: git stash push -m "фикс авторизации, недоделан". А когда вернёшься - просто git stash list покажет все твои «заначки» с описанием.
git stash push -m "WIP: правка бага в парсере"
git stash list
# stash@{0}: On main: WIP: правка бага в парсере
Не просто читай чужой код, а перепечатывай его строчка за строчкой. Когда ты копируешь решение из Stack Overflow - ты учишься вставлять. Когда перепечатываешь - мозг запоминает паттерны, синтаксис и логику. Делай так с небольшими функциями или сниппетами из open-source проектов. За месяц заметишь, что сам находишь решения быстрее.
# Пример: вместо Ctrl+C -> Ctrl+V, открой редактор и набери вручную
func fetchData(url string) ([]byte, error) {
resp, err := http.Get(url)
if err != nil { return nil, err }
defer resp.Body.Close()
return io.ReadAll(resp.Body)
}
Пишешь однотипные циклы, функции или компоненты каждый день? Создай свои сниппеты. Зайди в Файл -> Параметры -> Настройки -> Фрагменты кода пользователя, выбери язык и добавь шаблон. Например, для React-компонента:
{
"React Functional Component": {
"prefix": "rfc",
"body": [
"import React from 'react';",
"",
"const $1 = () => {",
" return (",
" $2",
" );",
"};",
"",
"export default $1;"
],
"description": "React functional component"
}
}
Вбиваешь rfc и жмёшь Tab - каркас готов. Экономит горы времени.
Комментариев пока нет