„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.