Przejdź do głównej zawartości

Oszczędności czasu

Jest 14:00 i spędziłeś ranek na funkcji, która powinna być prosta. Ale między ręcznym pisaniem JSDoc dla 8 funkcji, naprawianiem tego samego błędu ESLint w 12 plikach, kopiowaniem-wklejaniem tego samego wzorca obsługi błędów do 4 nowych endpointów i wpisywaniem wiadomości commita dokładnie opisującej twoje zmiany, straciłeś godzinę na zadania nie wymagające żadnej kreatywnej myśli. Żadne z tych zadań nie są trudne. Po prostu są żmudne, powtarzalne i stałe.

Oszczędności czasu w tym przewodniku nie są dramatyczne. Każda oszczędza 10 do 60 sekund. Ale robisz większość z nich dziesiątki razy dziennie i kilka z nich dziesiątki razy tygodniowo. Gdy je dodasz, odzyskujesz 5 do 10 godzin tygodniowo — nie przez szybszą pracę, ale przez eliminowanie pracy, która nie powinna wymagać ludzkiej uwagi w pierwszej kolejności.

  • Prompty szybkich wygranych dla najczęstszych powtarzalnych zadań
  • Wzorce przepływu pracy, które grupują podobne operacje razem
  • Reguły automatyzujące konwencje, które obecnie wymuszasz ręcznie
  • Priorytetową listę optymalizacji posortowaną według zaoszczędzonego czasu tygodniowo

Pisanie dokumentacji dla funkcji, komponentów i modułów to jedno z najbardziej pomijanych zadań w rozwoju oprogramowania, ponieważ stosunek kosztu do korzyści wydaje się zły: 30 sekund pisania za coś, co ma znaczenie tylko później. AI odwraca to równanie.

Uruchom to raz na plik po zakończeniu implementacji. AI zajmuje to 15 sekund, a tobie zajęłoby 5 minut ręcznego pisania.

Pisanie dobrych wiadomości commitów to dyscyplina, która opłaca się podczas debugowania i przeglądu kodu — ale jest również przeszkodą w twoim przepływie. Pozwól AI przeczytać twój diff i wygenerować wiadomość:

Zapisz to jako niestandardową komendę w .cursor/commands/commit-message.md, aby móc wywołać za pomocą /commit-message zamiast wklejać za każdym razem.

Gdy musisz zastosować tę samą zmianę do wielu plików (dodawanie obsługi błędów, konwersja callbacków na async/await, aktualizacja ścieżki importu), grupowanie oszczędza masywnie czasu w porównaniu z edytowaniem każdego pliku indywidualnie:

Ten rodzaj zbiorczej aktualizacji zajmuje 30 do 60 minut ręcznie w 15 plikach. Tryb Agent obsługuje to w 2 minuty.

To nie chodzi o osiągnięcie 100% pokrycia w jednym strzale — chodzi o przejście z 0% do 60% pokrycia w 5 minut zamiast 2 godzin, a następnie stopniowe ulepszanie stamtąd.

Skonfiguruj Cursor do automatycznej obsługi formatowania i prostych poprawek lintowych, aby nigdy o nich nie myśleć:

{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "explicit"
}
}

Eliminuje to całą kategorię komentarzy przeglądu (“fix the formatting,” “organize your imports”) i oszczędza od ręcznego uruchamiania npm run format.

Zamiast kopiować istniejący plik i ręcznie zmieniać wszystko, pozwól AI stworzyć szkielet nowych plików z twoich istniejących wzorców:

Dwa pliki ze szkieletem w 30 sekund zamiast 10 minut kopiowania-wklejania-zmiany nazw.

Zamiast pamiętać o dodawaniu obsługi błędów, logowania i walidacji za każdym razem, gdy tworzysz nowy endpoint, zakoduj te konwencje w regułach, które stosują się automatycznie:

---
globs: "src/routes/**/*.ts"
---
Every route handler in this project must:
1. Validate the request body using the Zod schema from @src/schemas/
2. Wrap the handler body in a try/catch
3. Log the request at the start: logger.info('[ROUTE_NAME] request received', { userId })
4. Log errors at the catch: logger.error('[ROUTE_NAME] failed', { error, userId })
5. Return errors using AppError from @src/lib/errors.ts
6. Include the route in the route registry at @src/app.ts
Follow the exact pattern in @src/routes/users.ts.

Ta reguła uruchamia się automatycznie, gdy Agent tworzy lub modyfikuje plik trasy. Nigdy nie musisz mu przypominać.

Dla małych, ukierunkowanych zmian Cmd+K (edycja inline) jest szybszy niż przełączanie na tryb Agent:

  • Zaznacz funkcję i naciśnij Cmd+K: “add input validation”
  • Zaznacz blok i naciśnij Cmd+K: “handle the null case”
  • Zaznacz nazwę zmiennej i naciśnij Cmd+K: “rename to currentUser across this file”
  • Zaznacz try/catch i naciśnij Cmd+K: “add logging and re-throw”

Każde z tych zajmuje 3 do 5 sekund. Równoważna interakcja w trybie Agent (przełącz na czat, opisz zmianę, poczekaj, aż agent przeczyta plik, przejrzyj diff) zajmuje 30 do 60 sekund dla tego samego rezultatu.

Zasada praktyczna: jeśli twoja zmiana to jedno zdanie, użyj Cmd+K. Jeśli to akapit, użyj trybu Agent.

Uzupełnianie Tab Cursora uczy się twoich wzorców w czasie. Im bardziej konsekwentnie piszesz kod, tym lepsze są jego przewidywania. Te nawyki poprawiają dokładność Tab:

  • Bądź konsekwentny z nazewnictwem. Jeśli twoje serwisy są zawsze [Domain]Service (UserService, OrderService, PaymentService), Tab przewiduje wzorzec, gdy wpiszesz Notif....
  • Bądź konsekwentny ze strukturą. Jeśli każdy serwis ma metody create, get, update, delete w tej kolejności, Tab przewiduje następną metodę po zakończeniu jednej.
  • Akceptuj częściowe uzupełnienia. Naciśnij Cmd+Right Arrow, aby akceptować jedno słowo na raz zamiast całej sugestii. Daje to większą kontrolę, nadal oszczędzając naciśnięcia klawiszy.

Przed wypchaniem swojej gałęzi uruchom tę jednorazową weryfikację:

Zapobiega to cyklowi “CI failed, push a fix, CI failed again”, który marnuje 15 minut na iterację.

Otwórz swój projekt i uruchom szybkie sprawdzenie statusu w trybie Ask:

Podsumuj stan tej gałęzi:
- Jakie zmiany są staged i unstaged?
- Jaki jest ostatni commit?
- Czy są jakieś uncommitowane zmiany z wczoraj?
- Czy są konflikty mergowania z main?

Zajmuje to 10 sekund i zapobiega zamieszaniu “wait, where was I?” kosztującemu 5 minut każdego ranka.

Trzymaj konwersacje w trybie Agent krótkie. Gdy konwersacja przekroczy 15 do 20 wiadomości, okno kontekstu się zapełnia i agent zaczyna tracić ślad wcześniejszych instrukcji. Rozpoczynaj nową konwersację dla każdego odrębnego zadania zamiast kontynuować jeden długi wątek.

Przed zamknięciem edytora stwórz punkt orientacyjny na jutro:

Spójrz na moje obecne zmiany (staged i unstaged) i napisz krótkie podsumowanie:
1. Nad czym pracowałem
2. Co jest zrobione
3. Co jeszcze trzeba zrobić
4. Wszelkie blokady lub pytania do rozwiązania
Zapisz to jako komentarz na górze pliku, który edytowałem.

Usuń komentarz jutro rano po jego przeczytaniu. Eliminuje to 10-minutowe “what was I doing?” rozgrzewanie na początku każdego dnia.

Auto-save wyzwala za dużo operacji format-on-save. Jeśli twój formatter jest wolny (częste z dużymi plikami lub złożonymi konfiguracjami Prettier), zwiększ opóźnienie auto-save do 3000ms lub przełącz na format-on-paste zamiast format-on-save.

Operacje zbiorcze zmieniają za dużo naraz. Jeśli zbiorcza aktualizacja dotyka 20 plików i coś psuje, trudno wskazać, która zmiana spowodowała problem. Preferuj uruchamianie pakietu testów po każdych 3 do 5 zmianach plików zamiast po wszystkich zmianach.

Uzupełnianie Tab sugeruje złe wzorce. Tab uczy się z twojej bazy kodu, więc jeśli twoja baza kodu ma niespójne wzorce, sugestie są niespójne. Napraw pierwotną przyczynę standaryzując wzorce, nie walcząc z przewidywaniami.

Wiadomości commitów są zbyt ogólne. Wiadomość wygenerowana przez AI mówi “update order service” zamiast wyjaśniać dlaczego. Dołącz kontekst w swoim promptcie: “The staged changes fix the bug where decimal quantities returned NaN in the total calculation.”