web-dev-qa-db-ja.com

タッチ入力できる最速のプログラミング...その段階にたどり着くには?

私は最近テストを受け、約100 wpmで快適にタイプをタッチできることを発見しました...何らかのオートコレクト/インテリセンスが与えられれば、それはさらに速くなります(だれが150 wpmを知っているでしょうか?)...

私は間違いなくその速度の近くのどこにもプログラムしていません...これは私がどれだけ正確にプログラミングが速くなるのか疑問に思いました?問題を見て、それを解決するためのアルゴリズムを設計すると(問題は解決されます...与えた後、またはデバッグを実行した後、何をしているのかわかっています)、実際に入力するのに非常に時間がかかるのはなぜですか?プログラム?私が見つけたのは、一般的に、コーディングしているとき、Wordの入力が完了するまでです。それが単なる文字aまたは番号1であっても、同時に考えて入力することはできません。つまり、タイプしているときに何かを思い付くことができますが、前を見る能力がありません。どちらか一方です。たとえば、これを書いているときに、どこへ行くのか感触があるかもしれませんが、指がキーボードに当たるまで、次に何を言うかわかりません。

これを変更するにはどうすればよいですか?タイピングの速度を利用できるように、タイピング中に前もって考える能力を得るにはどうすればよいですか?

また、一般的に、どのようにすればより速く問題を解決できますか?私は通常の練習リスト(私は問題ありません)を知っていますが、彼らの心を鍛えるために強調すべき特定の練習問題はありますか?たとえば、さまざまなロジックゲーム(数独など)をプレイすると、プログラミングの他の領域でロジックの感覚を向上させるのに非常に役立ちますか?

一度にたくさんの質問を申し訳ありませんが、それらはすべて関連しています...

追伸プログラムに速記を使用することは可能ですか?ステノグラフのユーザーは200〜300 wpmのような猛烈な速度を達成できると聞きました。私はどういうわけかもっと速く考えることができると仮定すると...それはかなりクールでしょう。

明らかに高速プログラミング!=良いプログラミング。しかし、より優れたプログラマーになるために常にトレーニングをしている場合でも、それをすばやく実行できることは害にはなりません。

6
frogeyedpeas

ここにいくつかの非常に悲観的な答えがあります。個人的な経験から、タッチ式プログラミングは絶対に可能だと言えるでしょう。しかし、それは本当に問題ではありませんよね? 「どうすればより生産的なプログラマーになることができるのか」と本当に質問しているということです。いくつかの要因を見てみましょう:

  1. 言語がどれほど冗長であるか。私はJavaプログラマーであり、POJOでゲッターおよびセッターメソッドを作成するなどの操作を行うと、最大速度で簡単に入力できます。しかし、一部の言語では、これらのボイラープレートメソッドの作成さえ必要としません。そしてEclipseにはこれらを自動生成するためのツールがあります。Pythonでは、1行でJava 10行かかります。したがって、Pythonは、Javaですばやく入力するのと同じくらい効率的ですか?

  2. あなたはどれだけうまく前に計画しましたか。漠然とした意図で何かに取り組み始めると、書くよりも考えることに多くの時間を費やすことになります。既存のコードについて十分に理解していて、ソリューションへのアプローチ方法を正確に知っている場合は、より迅速に作業を完了することが期待できます。しかし、あなたはまだ前の計画に余分な時間を費やしています。それでは、費やされた合計時間は同じですか?さまざまな人々がさまざまなスタイルでよりよく働きます。一部の人々は、火の中にまっすぐ飛び込んで、通り抜けるのを好む。

  3. あなたがどのように気を取られているか、集中しているか。音楽を聴いて環境を整えるのは良い考えだと考える人もいます。平和と静けさが好きな人もいれば、実際に騒がしい環境を楽しむ人もいます。私は個人的には、瞑想が良い焦点を得るための鍵であると思います。ほとんどの人は、自分の心をどのようにコントロールすることができないかを理解していません。毎日20分の瞑想は、あなたの心の透明度に信じられないほどの違いをもたらし、生産性を高めます。

  4. あなたはどれくらい健康ですか。あなたの脳の健康はあなたの体の健康に直接関係しています。喫煙、アルコールやカフェインの摂取、重い食べ物や不健康な食べ物の食べ方、不必要な薬の服用などは避けてください。毎晩適切な睡眠をとることは、人によって異なります。あなたはこれが作る違いに驚かれることでしょう。

  5. どのくらいのストレスがかかっているか、どれくらいの期間働いているか、バックグラウンドで何人の赤ちゃんが泣いているのかなどなど...ここにリストするには、要素が多すぎます。瞑想がこれらのことを助けることができることは再び言及する価値があります。あなたの心は獣であり、あなたがそれを飼いならさなければ、それはあなたがそれを制御するのではなく、あなたを制御します。

幸せなコーディング!

11
James Watkins

タイプするのと同じくらい早く新しい問題を解決することはできません。それを受け入れてください。これは、すでに1000回実行した単純な問題で機能する場合があります。

しかし、タイピングのスキルにはまだ価値があります。マッスルメモリタイピングを使用すると、キーボードではなく、問題に注意を向けることができます。あなたの心はゾーンにとどまり、キーボードは自然な拡張です。それはスピードではなく、流動性です。考えを簡単にタイプできれば、物事を試す間、心は深い思考ゾーンにとどまることができます。

私はすべての特殊文字と数字を暗記するために時間を費やしました。価値があります。

28
mike30

それは単に人間の脳の制限です。人々がタイプするのと同じくらい速くクリエイティブに考えることができれば、2営業日で平均的な小説を作ることができます。プログラマーにとって高速で再帰的なタイピングの主な利点は、考える時間が増え、中断が短くなることです。

入力中に前もって考える能力を練習する限り、楽器を取り上げることは有益かもしれません。音楽にはすべてのノートに対して厳格なリアルタイムの期限があり、音楽と楽器の複雑さによっては、少なくとも1つ以上のノートを先読みしないと正しく演奏することは不可能です。

それとは別に、あなたが本当にできるすべては練習です。

12
Karl Bielefeldt

実践

  • コーディング速度を向上させたい場合は、より頻繁にコーディングしてください。小さな問題を自分に与え、どれだけ速くそれをコーディングできるかを見てください。 Project Euler には、確認しておくとよい短い問題がいくつかあります。 ABC's がわかりませんか?
  • 問題解決の速度を向上させたい場合は、さらに問題を解決してください。繰り返しますが、自分に問題を与え、どれくらい早くそれを理解できるかを見てください。キャッチ?コーディングしないでください。構文やそのようなことを心配する必要はありません。いくつかのアイデアを書いて、できるだけ早くそれを解決する方法を考えてみてください。

これは、簡単または迅速に実行されるものではありません。優れた高速プログラマになるには 数年の経験 が必要で、Mike30が言ったように、思ったほど速く入力することはできないでしょう。ただし、かなり近づくことができるので、お気に入りのテキストエディタを取り出してプログラミングを開始してください。

4
Dynamic

結論-やってはいけないことはできない

構文は「怠惰な黒い犬が茶色のキツネを追いかけてフェンスを飛び越えた」と同じではありません。あなたはリンゴとオレンジを比較しています。プログラミングはキーボードでは行われません。プログラミングは、ホワイトボード、テーブルでの議論、友人と昼食をとりながらのナプキンで行われます。

プログラマーとして費やす時間のほとんどは、すでに記述されているコードを変更することであり、その機能を拡張する必要があります。このタイプの作業では、タイピング速度は要素ではありません。

私見、「オタクが話す」を非オタクに翻訳する方法を学ぶことに時間を費やした場合、あなたは従業員としてより良く、より価値があるでしょう。

例:非技術者にデータベースをどのように説明しますか?

回答:
(seloh eibbuc otni ffuts tup uoy stel taht loot a si esabatad A)