„Aby szybko kodować, musisz zakończyć kodowanie”


17

Po pierwsze, nie moje zdanie: http://www.whattofix.com/blog/archives/2010/11/to-code-quickly.php Rekwizyty dla pana Markhama.

Ale pomyślałem o wielu pytaniach, które widziałem na temat tego, jak załatwić sprawę.

Zalecane podejście (ustawienie timera na określony czas, w tym przypadku 50 minut, ale widziałem, jak ludzie mówią o zerwaniu kunktatorstwa, ustalając czasy tak krótkie, jak pięć minut na zadania, których po prostu nie możesz sobie zrobić, a następnie biorąc krótka przerwa) wydaje się być zdrowym rozsądkiem, ale wiele osób opowiada się za wejściem do „strefy” i przebywanie tam tak długo, jak to możliwe, może nawet wiele godzin, niż złamanie groove.

Próbuję różnych podejść i stwierdzam, że każde ma swoje mocne i słabe strony.

Jakiej techniki używasz, aby być bardziej EFEKTYWNYM (tj. Wykonywanie pracy na poziomie jakości wymaganym przez klienta / szefa itp. W dozwolonym czasie) w rozwoju oprogramowania, a nie tylko spędzanie więcej czasu przy klawiaturze ?


3
Chciałbym wykorzystać to jako okazję do podłączenia innej (proponowanej) strony SE, Personal Productivity and Organisation: area51.stackexchange.com/propozycje/4296/…
— instanceofTom

Ooo - super - poszedłem i zaangażowałem się. Dzięki!
— Todd Williamson,

rozprzestrzenianie się niszowych witryn SE staje się absurdalne.
— Kevin,

Odpowiedzi:


15

Używam tej techniki codziennie. Mój minutnik to 45 minut pracy na 10 minut odpoczynku.

Maksymalizuję też czas na komputerze do 4 godzin dziennie . Rozumiem, że nie jest to możliwe, gdy twoim głównym zadaniem jest kodowanie. Przez resztę czasu wykonuję każde zadanie, które nie wymaga komputera.

Narzędzie, którego używam, to WorkRave . Autor napisał to, ponieważ zaczął mieć problemy fizyczne z powodu niemożności przestania kodować przez długie godziny.

Jestem mniej zestresowany, co pozytywnie wpłynęło na moją produktywność.

Od kilku tygodni próbuję też technik uważności podczas pauzy. Pyszne.

Jeśli chodzi o techniki przeciwdziałające zwlekaniu, mam taki, który pokonał wszystko, co próbowałem wcześniej:

Zarządzam listą pojedynczych zadań, uszeregowaną według ważności. Wybieram pierwszy z listy.

Utrzymuję listę (i kalendarz) za pomocą kombinacji GTD i 7 nawyków .

Aby zwiększyć skuteczność listy, napisz swoje zadania jako kolejne działania zamiast opisów (zobacz rozdział Działania, konteksty i projekty w tym blogu )


1
Czy możesz podać przykład zadania napisanego jako działanie vs. jako opis?
— Adam Lear

Pewnie dodałem odniesienie do bardziej kompletnego artykułu w odpowiedzi. Oto link ponownie (opisuje całą technikę GTD): zenhabits.net/the-getting-things-done-gtd-faq .

6

Nie jestem pod wrażeniem tego eseju; co spędził, pewnego dnia wypróbowując swoją nową metodę?

To powiedziawszy, Pomodoro i podobne techniki wydają się mieć stałą popularność w niszach. Zazwyczaj staram się sortować swoje dni na „dni skupienia” i „inne dni”. Fokusowe dni Pojawiam się w nieco bardziej zrelaksowanym ubraniu, może nieco wcześniej (lub zostać później). Obecnie nie mam żadnych spotkań, więc mogę w zasadzie napisać własny harmonogram, co pozwoli mi lepiej się skoncentrować. W pozostałe dni mam spotkania, spotkania i tak dalej. Nie będę miał czasu na koncentrację, więc staram się zaplanować mniejsze i łatwiejsze zadania, aby wypełnić swój czas.

Jednym dobrym sposobem na zwiększenie wydajności kodowania jest generowanie kodu dowolnych bitów płyty kotłowej; refaktoryzacja wszystkiego, co zostanie zduplikowane itp.


2

Kluczową rzeczą do zapamiętania tutaj jest to, że nie ma rozwiązania „jeden rozmiar dla wszystkich”.

Istnieje wiele technik zwiększania zdolności do „załatwiania spraw”, a jednym z powodów jest to, że różne rzeczy działają dla różnych ludzi.

Niektórzy ludzie radzą sobie bardzo dobrze z tego rodzaju metodologią (por. Technika Pomodoro), a niektórzy przekonają się, że niszczy ich koncentrację - naprawdę nie lubię przerywać w połowie zadania i to prawie niezmiennie to, co systemy oparte na zegarze robią mi ... koncepcyjnie dobre, wymagające wdrożenia (prawdziwe dla większości ustrukturyzowanych metod zarządzania czasem i innymi rzeczami)


Po prostu szukam wielu danych wejściowych. Jak mówisz, nie ma podejścia „jeden pierścień, by rządzić nimi wszystkimi”, ale interesuje mnie, jak inni podchodzą do tego.
— Todd Williamson,

Och, absolutnie - i zgadzam się z pytaniem (-: Ale powyższa kwestia musi zostać postawiona, ponieważ ludzie, którzy mają systemy, które działają - dla nich - mogą być nieco zachwyceni.
— Murph,

Myślę, że to dobra uwaga. Co więcej, odkryłem, że niektóre techniki działają dla mnie lepiej lub gorzej w zależności od mojego nastroju, rodzaju wykonywanej pracy itp. Są chwile, kiedy nie mam problemu z wejściem do pracy i wydajną pracą przez cały dzień bez dowolny system. Innym razem potrzebuję czegoś, co pozwoli mi się skupić i śledzić. Czasami, kiedy przechodziłem przez takiego funka, zauważyłem, że Pomodoro działa całkiem dobrze dla mnie, chociaż czasami pomijałem przerwę, gdy byłem na fali.
— PeterAllenWebb

Skusiłem się na głosowanie tylko dlatego, że tak naprawdę nie dodaje subiektywnej opinii - po prostu stwierdza „zależy”. Można to powiedzieć o prawie wszystkim i być prawdą w prawie wszystkim.
— Magnus Wolffelt,

@Magnus nie może się z tym szczególnie kłócić, ale równie ważna jest uwaga. Zbyt wielu ludzi szuka złotej kuli.
— Murph,

-1

Ponieważ kodowanie jest problemem, oprócz technik wymienionych przez Pierre'a, sugerowałbym kodowanie w języku dynamicznym, jeśli to w ogóle możliwe (na przykład z Pythonem jest przyjemnością): takie języki pozwalają ci być wyjątkowo produktywny (zmierzone czasy kodowania pokazują współczynnik poprawy od 2 do 10, w porównaniu do C). Są tak przyjemne w pracy, że w zasadzie nigdy nie „po prostu spędzasz czasu przy klawiaturze”.


Dlaczego opinie negatywne? Powyższa odpowiedź dotyczy pytania „Jakiego rodzaju technik używasz, aby być bardziej EFEKTYWNYM (…) w tworzeniu oprogramowania?”.
— Eric O Lebigot,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.