題:
如何處理“剩餘30分鐘”的問題?
sh5164
2017-04-21 20:18:49 UTC
view on stackexchange narkive permalink

作為一名開發人員,我經常到達這一點,直到一天結束時我仍然完成大任務,仍然還有大約30分鐘的路程。

問題是,30分鐘還不夠是時候讓我編寫任何代碼了,如果我開始編寫一個任務的開始,我知道我會在第二天繼續努力而又失去上下文,並且不得不重新閱讀代碼,這會導致我丟失時間。

但是要專注於專業問題,我不想花太多時間在工作上,而在30分鐘內不做任何事情似乎很荒謬。

我該如何處理“剩餘30分鐘”問題?

編輯:為了解釋為什麼它不是重複的,麻煩不在於”什麼時候做什麼系統無法正常工作?”或“ 當我無事可做時該怎麼辦?”,而是“當您接近一天結束並到達時該怎麼辦”沒有時間開始新任務嗎?“

評論不作進一步討論;此對話已[轉移為聊天](http://chat.stackexchange.com/rooms/57529/discussion-on-question-by-sh5164-how-to-deal-with-the-30-minutes-remaining-親)。請記住註釋的含義:如果您想回答問題,請在檢查現有答案尚未涵蓋您的要點之後,在實際答案中這樣做。
早點離開,第二天再住30分鐘。
有時,我會瀏覽所有瀏覽器選項卡,然後決定是為它們添加書籤還是僅將其關閉而不添加書籤。有點像“一天結束時打掃辦公桌”。這可能需要一些時間,尤其是在尋找錯誤的一天之後。
“呆在30分鐘內甚麼都不做似乎是荒謬的” –認為30分鐘的停機時間是我的問題,這聽起來很荒謬,除非您的工作某種程度上涉及您花費每一分鐘的努力來挽救人們的生命。
*這會導致我浪費時間*是的,但我很難相信您第二天就會損失同樣的金額(30分鐘)。開始工作;-)
如果很難重新閱讀代碼,那麼也許您應該更頻繁地閱讀代碼。我們編寫代碼(希望一次),但是我們和其他人卻多次閱讀。如果代碼很難遵循,則您需要解決一些問題,即可讀性。並不是說您是一個糟糕的編碼員,但是如果您閱讀昨天編寫的代碼需要花費大量時間,那麼可能是錯誤的。
你真幸運作為一個年輕的程序員,我的問題是,當電話和中斷停止時,我的大腦會在下午5點左右進入一個非常高的檔位,所以我將開始工作,工作並最終抬頭,直到晚上8點。我並沒有聲稱這段時間內通常會發生任何有成果的事情,相反,這可能意味著我可能更快地了解了我的交易。總會有一些繁瑣的工作需要去做:您的時間表,整理工作區,回答一些懸而未決的問題,計劃接下來的工作,...
首先編寫下一個問題的failing(!)單元測試,以防止丟失上下文。第二天早上,這些測試將向您顯示您正在做什麼。這些測試將比任何半成品的代碼更具可讀性。
你不能回家嗎
@usr應該是這樣,但在許多公司中這是不可能的。
*“作為開發人員,如果我開始編寫任務的開頭,我知道第二天我將很難繼續進行下去。” *好吧,在進行編程之前,您將要進行開發/程序結構部分,對不對?“開發人員”是解決問題的人,然後(可選)進行編碼,而“程序員”恰恰相反,後者只是接受關於必須實現和實現哪種解決方案的指令(這也是不平凡的)任務)。因此,抓住鉛筆,一個筆記本,並繪製出程序/類/您必須實現的所有內容的整個結構。
您可以提前30分鍾離開,也可以一直呆到完成任務。
十五 答案:
skymningen
2017-04-21 20:47:34 UTC
view on stackexchange narkive permalink

有很多選擇:

  • 檢查(相關的)博客/新聞/期刊,並閱讀您所在領域的最新情況
  • 記錄下您在此期間所做的工作一天
  • 計劃第二天/週/月的第二天需要做什麼 l​​i>
  • 回到您的郵件中,最後真正獲得您錯過的信息,而之前我們會跳過它
  • 檢查您是否已完成所有“組織任務”,如果沒有,則執行它們(上班時間,將報告發送到桌上的任何人,開始備份,...)
  • 清理您的白板/辦公桌/桌面上任何積聚但在三週前失去關聯的東西
  • 您是否已完成所有這些操作?還有30分鐘?返回步驟1! (而且,你是魔術師。)
評論不作進一步討論;此對話已[轉移為聊天](https://chat.stackexchange.com/rooms/98201/discussion-on-answer-by-skymningen-how-do-i-deal-with-the-30-minutes-剩下的)。
Kate Gregory
2017-04-21 21:25:12 UTC
view on stackexchange narkive permalink

除了計劃您的一天,收拾東西,平時早點離開(以彌補其他時間的延遲)外,讓我提出一些似乎很違反直覺的建議:

盡量避免在“自然的停止點”停下來

您擔心,如果花半小時完成編碼任務,您將發現很難加載上下文第二天再回來。但是我的經驗恰恰相反。假設您要編寫一個簡單的函數。您知道將進行一些初始化,處理Y中所有X的循環以及一些清理工作。我將從字面上將文件添加到我的項目中,聲明函數,添加三個註釋(也許圍繞它們之一編寫for或while結構),然後-回家。

早晨,當您進入時,您無需記住自己在做什麼,也無需查閱筆記-一切就在這裡。為什麼要早上拿著空文件或白紙回家?相反,至少要寫一個標題或主題行。至少寫出函數的名稱。如果要編寫文檔,請創建文件夾,使用正確的名稱創建一個空文檔,然後將文檔標題放在第一頁的頂部。應用樣式表。

開始使用。然後離開。您可能會非常驚喜-如果您不自然地停下來,則入門會容易得多。從這些方面出發非常容易。

實際上,這很容易,有時我會使用一個變體來欺騙自己從事我不想做的事情。我只是做“入門”部分-製作新項目或空文件夾或其他內容。製作一個稱為大綱的文件,然後從電子郵件中粘貼大綱。下載規範或發行說明。找到我需要觀看的視頻的鏈接。這些都不算是我不想做的事情,只是使我能夠真正開始工作的入門材料,因此我可以毫無阻力地完成這些任務。然後,我發現完成這些任務後,我的阻力消失了,並且我能夠自己完成任務。

嘗試一下。

評論不作進一步討論;此對話已[轉移為聊天](https://chat.stackexchange.com/rooms/98202/discussion-on-answer-by-kate-gregory-how-do-i-deal-with-the-30-分鐘-剩餘)。
Philip Kendall
2017-04-21 20:23:24 UTC
view on stackexchange narkive permalink

我很高興見到你回家,改天再補30分鐘。正如您所說的那樣,與做30分鐘的工作,在一夜之間失去上下文並在早上重新開始工作相比,您的工作效率將大大提高。還是“ 9比5”工作。您的雇主在此方面可能會 regressive strike>更嚴格。

是的,這更像是“每天7小時,不多不少”的事情。
拒絕投票,因為總是有一種富有成效且有趣的方式來填補這段時間(請參見天空的答案)。提前跳出不適用於此處。開發人員不只是一直在編碼。一名_good_開發人員保持了周圍世界的心理狀況,發行版/產品的狀態,在跟踪器上引發的任何新問題……閱讀它們!在一天的最後30分鐘內要做的一件很柔軟的事情……在此期間,您仍將獲得報酬,並有望向您提問!
@BoundaryImposition:這完全取決於您的工作環境。如果工作時間是動態的(幾乎我去過的每個地方都是如此),那麼每個開發人員都將按自己的時間工作。有些人出現7並在4之前離開,而其他人出現11並在9左右離開。只要每個人都全職工作並完成工作,大多數地方就不會在乎您何時離開。您提到的其他一些事情,開發人員很可能會在空閒時間做。所以...我不能說我同意這裡的批評。
@BoundaryImposition的要點不是要找到有生產力的工作,而是要為公司增添最大價值。海報是實習生,擔心產品的狀態或回答其他人的問題,他們可能不會增加太多價值。
-1
我100%同意@Philip,但我要做的第一件事就是與老闆交談。多年以來,我既是承包商又是承包商,我發現大多數有能力的老闆/項目經理都了解這種情況,很高興您能早日離開並在需要時花點時間。如果不是這樣,那麼只需在“堆棧”網站之一上閒逛30分鐘,然後將其預訂在您的時間表中即可進行研發...
mutt
2017-04-21 20:30:12 UTC
view on stackexchange narkive permalink

練習計劃並寫下來。您無法編寫其他代碼,但通常會有一些計劃繼續進行編碼,如果您在那30分鐘內將其寫下來,則第二天就可以先閱讀並開始編碼。如果您通過了一項計劃,請再執行一項計劃,這樣您就可以準備學習幾個項目而不是一個項目。

關於此項目的註釋水平取決於您個人以及可以幫助您最好地記住事情,但目標是進行計劃和表達,以使計劃記憶變慢,並使您回到昨天的位置,而不會過多地沉思。我已經在線框代碼註釋,紙上,發布便箋,文本編輯器,白板圖片等中看到了這一點。找到最適合您的方法。

這樣做的麻煩在於,在OOP中,即使進行計劃也要花費很多時間。
是的,這將是我的答案。花最後30分鐘做筆記,記錄第二天要完成的工作。您將在腦海中解決問題,並且潛意識中的人可能會想到您以後在“代碼面”錯過的事情,此外,它還為您提供了第二天開始的情況簡介(如果您敏捷,則可能給你一些站立時要提的東西。
這是我的業餘時間,我會做一份清單,列出剩下要做的事情以及即將發生的事情,以及準確記錄我離開的地方,因為在早上(或週末),很容易忘記您停在哪裡。
什麼是“線框代碼註釋”?
基本上與凱特·格里高利(Kate Gregory)詳細闡述的相同。不是完整的編碼,而是在代碼中加上註釋以供將來理解。不同的人稱其為不同的事物...
Neo
2017-04-21 20:27:31 UTC
view on stackexchange narkive permalink

如何處理“剩餘30分鐘”問題?

這是我偶爾發生的一次,我建議您利用這段時間發揮自己的優勢。

我使用這些意外時間禮物來研究新技術或分析我的下一個任務,或者回答/複習有關Stack Overflow的問題。我通過回顧新的問題和答案學到了很多東西。

不要只是坐著假裝很忙。充分利用時間!

我想,在工作時間內在Stack Exchange上進行複習/回答任務是否可以,可能取決於公司。
當然,這首先應適用於高度相關的Stack Overflow項目。如果編寫類似Sibelius的工具,則僅應轉到music.stackexchange。
Timothy Truckle
2017-04-21 21:34:41 UTC
view on stackexchange narkive permalink

作為開發人員,您永無止境。

即使您不能在剩餘時間內向代碼中添加新功能,也可以(並且應該)重構

  • 改進名稱,
  • 減少代碼重複,
  • 將長方法/函數/過程拆分成較短的方法/
  • 將方法/函數/過程移至新文件以應用SRP和/或相同級別的抽象原理。

和其他類似的東西。

使用IDE的自動重構功能,所有這些任務都需要花費幾秒鐘的時間。並且您的單元測試將確保您不會更改當前已實施的應用程序行為。

在不太可能的情況下,您損壞了某些東西:從SCM中檢查上一個工作狀態...

+1花幾分鐘的時間來“思考”您的工作質量(更不用說實際進行改進了)是非常專業的事情!實際上,這是專業發展所必需的。
@jpaugh *“ + 1花幾分鐘的時間來考慮您的工作質量” *謝謝,但是為什麼不這樣做呢?如所寫,它是安全且快速的。
那是我一天結束時想要做的最後一件事。如果您的單元測試是完美的,並且您從未進行過超過一兩分鐘的更改,那麼*並且*您就不會引入合併問題...也許。僅僅考慮可能的改進(如果可能的話就對它們進行計劃)似乎對我來說成本較低,並且從長遠來看似乎同樣有效。最困難的一點是克服固有的大腦慣性,甚至*考慮*任何變更的成本和收益。
Arkaaito
2017-04-22 00:13:40 UTC
view on stackexchange narkive permalink

我維護著我在做其他事情時遇到的任務的“清單”,這些任務足夠長,以至於我不想馬上從事這些工作(或者我不這樣做)。不想由於其他原因立即解決-例如“我希望此提交僅包含一個邏輯更改”),但又足夠短,以至於它們不值得與正常項目相關的所有開銷。每當我遇到這樣的任務時,我都會在清單上寫下大量細節,例如去哪裡,做什麼,誰可能從中受益以及我希望它花多長時間。它上面的大多數事情都是極端案例,太少而無法獲得“官方”資源,應該執行的重構,應該編寫的單元測試等,但是當我處於中間狀態時,我的同事會要求我這樣做。相同的列表上還有其他內容(因此“誰可能會受益”)。每個項目都是獨立的,並且花費的時間是高度可預測的,因此非常適合在我開會前15分鐘,準備召開電話會議後5分鐘等時使用。開會遲到了,沒有什麼比讓他們更快樂的了。 (沒有什麼比讓我不坐在那裡更快樂的了,他們在想:“ * & @ $會議,從不准時開始...”)

Joe Strazzere
2017-04-22 03:13:25 UTC
view on stackexchange narkive permalink

如何處理“剩餘30分鐘”問題?

我總是每天每天的最後30分鐘用於:

  • 清理所有剩餘電子郵件
  • 檢查並更新我的日曆
  • 為第二天做準備
  • 打包任何我需要帶回家的東西(尤其是當我計劃時)在家做一些工作)

如果您經常在一天結束時有30分鐘的計劃外時間來閒暇,那麼您可以考慮做這些事情。

如果我實際上還沒有任何有價值的活動,那我就走了。

-1,因為基本上是您經常執行的操作。您沒有計劃,這不是偶然的時間。在您的版本中:完成剩餘一個小時的工作後會做什麼?因為該小時實際上是30分鐘,因為您已經安排了全天30分鐘的計劃。如果您在編碼中間,也要在一天結束時做同樣的工作嗎?您是否停止編碼然後整理?
如果您在家工作,需要帶什麼回家?
希望您將移動越來越少的打印文檔。這對您的後背不利,眾所周知,紙張很難固定:)
jhbh
2017-04-21 20:30:54 UTC
view on stackexchange narkive permalink

如果您每小時一班,請抽空做一些忙碌的工作,例如添加評論和常規清理工作。通常,我通常還會使用這最後30分鐘左右的時間來發送電子郵件,編寫報告並填寫工作日誌。

如果沒有其他問題,請瀏覽Stack Overflow並顯得很忙。

我傾向於花時間在stackOverflow中回答問題
speciesUnknown
2017-04-22 20:18:00 UTC
view on stackexchange narkive permalink

執行一些“沒有時間”的任務

組織可能認為很多時間沒有“時間”的任務,但是可以創建技術性的債務(如果留下的話)-測試有時會屬於此類。

說服管理層,他們需要在一些不確定的未來時間節省金錢的任務上花錢,這通常很困難。這次,如果他們抱怨,您可以指出您在一天結束時有30分鐘的空閒時間,並指出您發現了X個錯誤。

開發人員常常不得不更快地完成工作,並且質量監督不足。

檢查您最近寫的內容是否符合規範-昨天發生在我身上。我重新閱讀了規範的一部分內容,發現它不太正確-花了大約20分鐘的時間解決了該問題。

Robert Dundon
2017-04-21 20:33:01 UTC
view on stackexchange narkive permalink

就我個人而言,這發生在一天的最後15到20分鐘左右。

對我有幫助的是通過提出一些行動事項等來計劃第二天(或一周)。

您應該只提及動作項,然後讓讀者來承擔。請列出他們,以備其他人使用。
第二天過關沒問題,如果您在23:50或0:20停下來,相差不大。通常情況下,這更像是我必須起床時要強迫我停下來(這裡只是在開玩笑)。我對呆板的辦公時間似乎如此普遍感到震驚。
Count Iblis
2017-04-22 02:48:28 UTC
view on stackexchange narkive permalink

您應該考慮將工作時間分配到足夠大的塊中,以允許您在每個塊中自由工作,但又不要太大。您可能會認為,可以持續任意長的大型架子對完成某項任務很有效,但是專心致志在經過數小時的不間斷工作後,確實會受到影響。如果您在2.5小時後強行休息,那麼您可以在3個這樣的街區中進行9小時的工作(8小時的工作加1小時的休息),在各區之間進行20分鐘的咖啡/午餐休息,並額外進行50分鐘的運動休息。

然後您將消除這個“最後半小時問題”,只有最後2.5個小時的時間段與您當前的上班時間完全不同。如果一項任務在最後一個塊內完成,您將有更多的精力繼續執行其他任務或計劃第二天。您將以更大的精力開始該塊,在該塊的開始處,您可能會知道自己將提前完成,這使您更傾向於在項目完成後積極考慮進行其他工作。

您現在不願意這樣做的事實是“工作到任務結束”的人工製品,這消耗了精力。如果您將工作安排為長時間的馬拉鬆比賽,那麼在任務結束時您會感覺像是馬拉松賽跑選手,這也就不足為奇了。

Gray Sheep
2017-04-22 21:11:08 UTC
view on stackexchange narkive permalink

任何復雜程度(不是很高)的軟件都可以變得更好一點。

使您的代碼變得更好一點。

Pieter B
2017-04-22 13:03:49 UTC
view on stackexchange narkive permalink

我的工作有不同的工作。今天需要完成的工作。本週需要完成的工作。下半年需要完成的工作。

下半年需要完成的工作主要是一些瑣碎的小任務,幾乎沒有“思考工作”。這些是我在較大任務之間的空閒時間裡所做的事情。它們是很好的填充物,可以讓您在工作結束時放鬆身心。

alephzero
2017-04-22 20:22:12 UTC
view on stackexchange narkive permalink

三思而後行。除非您真的在工作結束時是對的,並且“只剩下一件事情要做”,否則請切換到另一項任務,該任務將把您帶到之前 “僅剩30分鐘”的情況。

實際上,我真的不明白為什麼“如果30分鐘沒有足夠的時間讓我編寫任何代碼,”-如果您不這樣做(或不能這樣做)將您的工作分解成比這還小的東西,這聽起來並不是一種非常有效的進步方式。實際上,如果您使用諸如 Pomodoro之類的時間管理技術,則會將您的 all 工作分解為30分鐘的片段。

您鏈接的Wikipedia頁面並沒有真正描述將工作分解為30分鐘的片段,而是描述了在計時器響起時任意插入中斷。Wikipedia在這裡是錯誤的嗎?這項技術是否需要在開始處理之前先將其切成小塊?


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...