Як ти борешся з втомою програмування? [зачинено]


48

Не втома, як в «мені потрібно спати», а втома, як в «я просто не можу більше турбуватися», яка зазвичай виникає, коли ви потрапляєте на блокпости в будь-якому проекті, над яким працюєте, як правило, чим ближче до термінів.

Це може бути як в робочих проектах, так і в особистих проектах, але останнім часом я все більше і більше вражаю. Я отримаю ідею, займіться роботою над нею, отримаю кілька дійсно гарних днів і прогресую, тоді просто якихось нечестивих речей зіпхне мене, я не можу налагодити роботу так, як вам хочеться, я потрапив на обмеження в рамках у мене виникають проблеми, для яких я не можу знайти документацію тощо, і це стає занадто засмучуючим.

Або я одна в цьому?


4
Чи вимірюється ваш прогрес у ваших проектах, навіть коли ви потрапляєте на блокпости? Якщо ні, то подумайте про те, щоб зробити його вимірним. Видимість стійкого прогресу - найкраще, що я знаю.

7
Це нагадує мені Морта (Террі Пратчетт) - шматочок, де Морт очищає гній у стайні. «Див Давайте, подумав він, я зробив майже чверть, давайте назвемо це третій, так що, коли я зробив , що кут в hayrack це буде більш ніж в два рази, називають це п'ять восьмих, що означає ще три навантаження на тачку ... Це не доводить нічого, крім того, що з дивовижною пишністю Всесвіту набагато простіше впоратися, якщо ти вважаєш це низкою маленьких шматочків ".
Steve314

@ Steve314: +1 Pratchett скелі.
Увімкнення

Спробуйте ефект Сома .
rwong

@rwong: Більшість моїх проектів - сольні проекти (або дуже маленькі команди). Але це здається цікавою ідеєю.
sevenseacat

Відповіді:


42

Прокрастинація

Те, що ви описуєте, ймовірно, зволікання . Це дуже поширений феномен. Перейдіть за посиланням та прочитайте про теорію часової мотивації .

Щоб побороти зволікання, я роблю списки. Коли я відчуваю, що я зволікаю, я відкриваю список і змушую працювати над першим пунктом. Через кілька хвилин я потрапляю в зону чи потік, як описав психолог Міхалі Ксіксентміхалі .

Ви повинні впізнати вас на цьому зображенні:

alt текст


2
+1, щоб примусити себе. Я виявив те саме, що і зі мною; тільки початок - найважча частина.
Майкл К

2
Ви не знайдете, як роки йдуть, що всі проекти спускаються по вертикальній осі. Рух теж горизонтальний.
Увімкнення

Я сьогодні відкладаю цілий день замість того, щоб кодувати свій проект з відкритим кодом. Чорт.
gruszczy

1
+1 для прибиття цього питання.
Конор

2
Я вважаю, що якщо у списку є лише неприємні завдання вгорі, то це може бути поруч із неможливим змусити себе це робити
Роман Старков

10

Що для мене працює - це відійти від проблеми, яка ставить перед собою бар’єр. Це може означати, що інші пропонують працювати над іншою частиною кодової бази. Це може означати біг. Я виявив, що биття голови об бар'єр лише зміцнює бар'єр. Зміна фокусу на щось незв'язане дозволить вашій підсвідомості вирішити проблему. Я не раз дивувався, знайшовши рішення під душем тощо.


4
Душі, безумовно, хороші місця для виправлення помилок.
Orbling

Це справді хороший момент щодо лише посилення бар'єру. Я думаю, що це мені потрібно зробити, розбити проекти на різні частини, тому коли моєму мозку вистачило одного, перейти на інший, використовувати іншу частину мозку.
sevenseacat

8

Програміст повинен мати привід, більший, ніж у Зеленого ліхтаря . Це той маленький свербіж у нас, коли щось не працює, ми намагаємося копати глибше і з’ясовуємо, чому це, ставлячи запитання чи читаючи книгу.

Що ви можете зробити, щоб зупинити цю втому - це трохи відійти від проблеми та попрацювати над іншим аспектом завдання, яке вам було надано.

Для мене завдання програмування, які змушують мене розслабитися, як дитина, працюють над графічним інтерфейсом. Це мертво легко і дозволяє мені відключити мозок. Це також дає моєму мозку ефект плацебо, що я щось досягаю.


Так, в основному, залишитись зануреним у проект, але в зайнятій роботі? І так, це найгірше почуття - коли ти весь цей час вкладаєш у щось і все ще відчуваєш, ніби нічого не досягнув.
sevenseacat

3
@Karpie Ви все ще щось робите. Виконання деяких «зайнятих робіт» дозволяє вам продовжувати працювати над тим, що потрібно зробити, але це просто не те, що вимагає, щоб ваш мозок стріляв по всіх циліндрах.

Я не знаю - робота GUI завжди, здається, працює на моїх очах. Змусити його працювати правильно і бути корисним - це цікаво і складно, але домогтися того, щоб він виглядав красиво, для мене дуже важко.
Майкл К

Коли я на деякий час відходжу так, приблизно 50% часу я ніколи не повертаюся ...: /
Роман Старков

6

Я маю тенденцію потрапляти в цю область майже весь час.

Почати проект легко, все нове, вивчити та дізнатись, прототипи побудувати, все весело. Але як виклик згасає, так мій інтерес зменшується. Розробляючи виробничі версії програмного забезпечення, випрасовуючи смішні маленькі помилки, які існують через незрозумілі проблеми з деякою платформою, яку ви повинні використовувати.

Досить набриднути тебе до смерті.

Я ніколи не знаходив нічого надто корисного в цьому, я просто працюю або граю з чимось зовсім іншим (stackoverflow для цього хороший), поки мені не набридне з іншими речами і не почати відчувати провину. Тоді займіться трохи нудної роботи. Продуктивність знижується приблизно до 20%, але такий тягар тьмяного кодування.

Є одне рішення, командне програмування, дуже важко стояти на місці, коли інші беруть безпосередню участь.


1
+1, team building працює чудово. На жаль, дуже важко зацікавити інших людей своїми власними проектами.
dan_waterworth

@dan_waterworth: Правда, хоча минуло дуже багато років, як я програмував заради себе. 60-80 годинних тижнів, з дорогоцінним маленьким відпочинком роками, швидше знімає бажання.
Орлінг

2
+1 за чесність: "... поки мені не набриднуть інші речі і не почну відчувати свою провину ... Продуктивність знижується приблизно до 20% ..."
Кавка

Чи можете ви надати більше конкретики в командному програмуванні?
Esqarrouth

6

Парне програмування

Я вважаю, що програмування пар дійсно допомагає в цих випадках. Знайдіть когось, з яким ви добре поєднуєтесь і нападаєте на проблеми, немає нічого кращого, ніж інша думка чи звучача дошка, щоб пройти через дорожні блоки. Як тільки ви знову почнете прогресувати, ентузіазм, як правило, повертається сам собою.

На жаль, це нахмуриться в нашій компанії, тому я схильний робити це лише тоді, коли я справді відчуваю проблеми, що впливають на мою продуктивність.


+1, оскільки це було єдине, що я запропонував у своїй відповіді, хоч і називав це командним програмуванням, оскільки більше двох - це добре. ;-)
Увімкнення

3

Вивчіть нову мову. Немає нічого, як вивчити нову мову, щоб викликати інтерес. Я б запропонував Haskell.


1
+1 Для нової мови +1 для Haskell. Однак, мабуть, математика голосування 1 + 1 = 1не відповідає.
Увімкнення

1
@Orbling, це тому, що1 | 1 = 1
dan_waterworth

Думаю, 1 & 1 = 1було б ближче до мого наміру. ;-)
Увімкнення

1
@ Орлінг, як щодо того P(vote) = S((1 + 1)/t), де S(x)функція сигмоїди ? (Ви можете вибрати температуру системи).
dan_waterworth

Це те, що я спробував зі своїм останнім проектом, я спробував вивчити Рубі та Рейки! То була частина про те, що документація там не вся, хе ...
sevenseacat

2

Я починаю вражати інші райони протягом години або до. Я використовую Eclipse на роботі, і Eclipse дозволяє вам ввести // TODO:свій код і потім зіставити їх усі у вікні для вас. Якщо я бачу щось, що хочу змінити або виправити, працюючи над чимось іншим, я вкладаю TODO, щоб я не порушував обертів. Коли я затримаюся занадто довго (більше години чи двох), я почну працювати над списком. Це забезпечує зміну пейзажу, і більшість часу зміни є досить простими, що допомагає мені розслабитися. Часто відповідь вискакує, але все ж даючи мені відчути, що я щось досягаю.

Примітка. Я люблю рефакторинг і робити перегляд коду все краще і краще. Ваш пробіг може відрізнятися.


1
+1 Це я завжди роблю, особливо корисно для забезпечення безперебійного перебігу коду. Звичайно, якщо слідуючи звичайним доктринам кодування, повний псевдо-код на передній частині - хороша ідея, повільно опрацьовуватися до реального коду.
Увімкнення
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.