web-dev-qa-db-ja.com

どうすれば「プログラマーの心」にすばやく、より頻繁に入ることができますか?

私が取り組んでいるワークフローがあります。これまでのところ、データベースにデータを入力して分析機器の構成スクリプトを作成するWebフォームでしたが、私はすべてPerl、Javascript、HTML、Javascript、MySQLで作成しました。

そして今、私の前の仕事は、計測器後の分析Bashスクリプトを生成することです。あるいは、Perlで作成されたポスト計測分析スクリプトジェネレーターです。そして、それは永遠にかかっています。

私はこれをしばらくの間、最前線の仕事として抱えてきました。そして、進歩は恐ろしく、恥ずかしいほど遅くなっています。実際、先週の金曜日、私は座って、画面を見て、プロジェクトの次のステップに進む道を見つけようとしました、そして...インスピレーションの最初の兆候は?能力の?タスクの任意の側面を知って攻撃し、それをコード化できることですか?さて、午後4時30分に始まり、午後8時20分まで乗りました。

私は一貫して私のスケジュールでそのメンタルスペースに入るアイデアとテクニックを探して期待しています。ポインタはありますか?

12
Dave Jacoby

Programmers.SEからの 'flow'の心理学 に関する最高の投稿のまとめです。それを達成する方法、それを破る方法、読む本、見るビデオ。

警告:フロー状態を達成しようとしている場合は、これらのリンクをクリックしないでください。

11
Ciaran

紙のパッドと快適なペンを用意し、物理的に書きます。あなたがやろうとしていることを正確に書き留めてください。スケッチ、落書き、落書き、ただ描く/書く。 Mspaintは機能しません。助けることになっているあなたのコンピュータ上のどんなプログラムも、機能しません。使用している言語の単語を、使用しているエディタに入力しても、プログラムは作成されません。それはあなたの脳で作られています。

コードを記述したいですか?コンピュータから離れてください!

最近、友人の写真のWebサイト用にmysqlデータベースを構築しました。私はそれがどのように機能する必要があるか、そしてどのようにテーブル構造をレイアウトするかについて頭を包むのに非常に苦労していました。最初にmspaintを試し、次にさまざまなデータベース設計アプリを試しました。それらはすべて少しは役に立ちますが、私はまだ行き詰っていました。私が本物のペンと紙を手に入れて、それを本当に書き留めたらすぐに、クリックしただけでした。

これは「ニューエイジ」のように聞こえるかもしれませんが、実際には、脳を実際に使って腕を物理的に動かし、ペンを動かして考えているものを描く必要があることと関係があると思います。

5
Zack

先延ばしにしている場合

あなたがあなたの人生からすべてのより興味深いものを取り除くなら、残っている最も興味深いものはあなたの仕事でしょう。

本当に行き詰まっている場合

昔ながらの紙のパッドを取り出して、「ここで何をしようとしているのですか?」そして、「AからBにどうやって行きますか?」と答えた後。ステップに入れることができれば、最初のステップを実行します。そうでない場合、多分誰かに尋ねますか? (しかし、最初にグーグル。)

2
user21007

まず、ポインタを探している場合、間違った言語を使用しているので、Cを試してみてくださいpunを待つ ...

しかし、実際には、特定の心の中に入る、またはプログラミングの行き詰まりを乗り越えるための最良の方法は、しばらくの間別の何かに取り組むか、別の角度から同じ問題に挑戦して攻撃することです。

1
Jeff Langemeier

「タスクのあらゆる側面を知って攻撃し、それをコード化できるということですか。まあ、それは午後4時30分に始まりました...」

ビルドする前に、ビルドするものを定義する必要があります。これがあなたをあなた自身の言葉で止めた理由です。

1
P.Brian.Mackey

流れが究極の答えです。そのためには、明確な目的が必要です。それは他が言及した項目のいくつかをカプセル化します。場合によっては、これらの目標への道のりがそれほど明確ではないため、何らかの「メンタルリフレッシュ」が必要になります。

生計のためにコーディングする多くの人々は、ジャグリングもします。長いタスクリストのジャグリングについてではなく、オブジェクトのジャグリングについて話しています。ジャグリングについてのことは、それは大きな認知能力を必要としないが、それは集中と完全な注意を必要とするということです。あなたと他の何かに完全に焦点を合わせている仕事からあなたの心を完全に取り除くことができれば、あなたは頻繁に「エウレカ!」を得る。その瞬間、コーディングに戻ることができます。

私はジャグリングするための調整を持っていません。窓の前のトレッドミルに乗り、イヤフォンにホワイトノイズを入れ、電子書籍リーダーを私の前に置き、約30分間歩きます。肉体的運動(激しいではなく、着実な)は「ジュースが流れる」ようになります。他の人たちは建物の周りの散歩を提案しました。この辺りの天気は実にひどい。どんな天候でも、トレッドミルは使えます。魅力的な本を備えた電子書籍リーダーは、通常私を精神的に混乱させるのに十分です。自然光は、特に日中、心をきれいにします(蛍光灯は逆の傾向があります)。

その後、私は通常、精神的にリフレッシュし、気になる問題に取り組むことができます。そして、私は明確な目的とそれらへの道を見つけるより良いチャンスに立って、「フロー」状態に到達する確率を改善します。

1
Meower68

何かの進め方がわからない場合は、問題の領域を完全には把握していません。

気が遠くなるのは、何かを生み出すプレッシャーを感じていることだと思います。私がやりたいのは、設計や実装を試みることなく、問題の領域を自由に探索することです。しばらく探索してみると、コンポーネントと実行する必要のあるものがわかります。次に、オブジェクトとフローを設計して、何をどのようにしたいかを理解し、実装することができます。しかし、後者のいずれかを探索フェーズにプッシュしようとすると、脳がフリーズします。

他の人が述べたように、私の心は、コンピューターから離れていて、物事を書き留めることができるとき、探検する自由を感じていることがよくあります。私がコンピューターのところにいると、コーディングをしているような気がします。これは、最初から行う必要があることではありません。

時々、少しのコーディングやプロトタイピングが役立つ/必要になるかもしれませんが、私は少し調べて初めてその時点に到達します。

たぶん、あなたは朝型ではないのでは?同じことについて文句を言う同僚がいました-一日の終わりまで生産的ではありませんでした。たぶんそれは一部の人々が働く方法ですか?

0
paul

問題が燃え尽き症候群ではなく、計画的で正直な休息で問題が解決しないと確信している場合は、しばらくの間、他のことに心を向けることでうまくいきます。

  • 瞑想。
  • 音楽を演奏。
  • スポーツ。
  • I Ching 。プロセス全体。
  • 技術的なことを勉強しているが、(明らかに)目の前の仕事とはまったく無関係。それは側面思考を促進します。
0
Apalala

ここでは、行き詰まったときに行うことをいくつか示します。

  • (一般化の反対)を指定します。問題のより具体的なバージョンを解決します。
  • 問題をコンポーネントパーツに分解し、1つのパーツを解決します。
  • 問題を再度特徴付けます。私は実際に何をしようとしていますか?.
  • 休憩する。
  • より新鮮な誰かを関与させる。
0
dietbuddha