回答編集履歴

1

追記

2016/03/17 13:50

投稿

miyabi-sun
miyabi-sun

スコア21158

test CHANGED
@@ -1,16 +1,40 @@
1
- 挙げるとすれば5つですかね
1
+ 色々付け足したら長くなりました。
2
+
3
+ 以下は私が工夫してプログラミング速度が速くなったと実感した経緯です。
4
+
5
+ 共感出来る箇所、出来ない箇所あるかと思いますが、共感した箇所だけ参考にしてみてください。
2
6
 
3
7
 
4
8
 
9
+ - プログラミング力とは使える関数の数
10
+
5
11
  - コーディングスタイルの確立
6
12
 
7
- - 状態変数は持つな
13
+ - 状態変数は持つな
8
14
 
9
- - 命名には徹底的にこだわれ
15
+ - 命名には徹底的にこだわれ
16
+
17
+ - でもプロジェクトのコーディング規約が基本的に有線
10
18
 
11
19
  - カーソルキーは極力減らそう
12
20
 
13
- - タイピングの無駄
21
+ - その他タイピングの無駄
22
+
23
+ - 日本語とプログラミング言語の指使いは全く違う
24
+
25
+ - タイピング速度はこのように活かすのだ
26
+
27
+
28
+
29
+ # プログラミング力とは使える関数の数
30
+
31
+
32
+
33
+ 私はJavaScriptとPHPしか使えませんが、
34
+
35
+ 標準関数の覚えている量は戦力の決定的差です。
36
+
37
+ その他プロジェクトで使ってるライブラリやフレームワークのメソッドも顕著に効果があります。
14
38
 
15
39
 
16
40
 
@@ -30,17 +54,11 @@
30
54
 
31
55
 
32
56
 
33
- # 状態変数は持つな
57
+ ## 状態変数は持つな
34
58
 
35
59
 
36
60
 
37
- 状態変数とはメソッドの中でステップ毎に値が変わる変数を指します。
38
-
39
- 主にループ文の中で使われるiとかjとかそういう奴も含みます。
40
-
41
-
42
-
43
- 人間覚え続ける事が出来る個数は7個が限界なので、
61
+ 人間の頭の中で同時に記憶出来るモノは7個が限界と言われています。
44
62
 
45
63
  状態変数の管理は人間様にとって非常に重いコストとしてのしかかってきます。
46
64
 
@@ -48,23 +66,61 @@
48
66
 
49
67
 
50
68
 
51
- # 命名は徹底的にこだわれ
69
+ しかし、状態変数を無理削るとプログラムのパフォーマンスが低下する可能性もあります。
70
+
71
+ 何でもかんでも持つな!減らせというわけではありませんが、必要最小限を保つ努力は怠らないようにしましょう。
72
+
73
+ 「ん?この状態変数って必要不可欠だっけ?」と問いかけるだけでもかなり減らせるかと思います。
52
74
 
53
75
 
54
76
 
55
- ここサボる奴やってもダメです。
77
+ ## 命名に徹底的こだわれ
56
-
57
- 変数、メソッド名・・・それはtmp以外のあるべき名前があるはず。
58
78
 
59
79
 
60
80
 
61
- 使てる名付けたtmpは自分メモリの中で管理し続ける必要出てくるので、
81
+ 実際に動いてるプログラムの中`tmp,num,str,hoge,fuga,foo,bar`ような変数あればアウト。
62
82
 
83
+ 使い捨てる為に名付けたtmpはそのコードを読む度に「えーと、これなんだっけ?」という無駄な時間が発生します。
84
+
63
- 気を抜いた瞬間考慮漏れ、バグの原因となります。
85
+ 怠った瞬間考慮漏れ、バグの原因となります。
64
86
 
65
87
 
66
88
 
89
+ ## でもプロジェクトのコーディング規約が基本的に有線
90
+
91
+
92
+
93
+ 明らかにプロジェクトのコーディング規約がおかしい場合は戦うべきです。
94
+
95
+ ですが、好み程度の差異なら素直に従った方が良いです。
96
+
97
+ カッコやカンマの書き方一つでも、統一されてないと追加開発の速度や品質がガタ落ちします。
98
+
99
+
100
+
101
+ # タイピングの無駄
102
+
103
+
104
+
105
+ 例えば`(j)`と入力する時どうしてますか?
106
+
107
+ まさか**Shiftキーを押しながら89と入力し、左キーで戻ってからjをタイプ**…等とはやってませんよね?
108
+
109
+ その後の状況もひどくカッコから出る為に右キーを入力する必要がありますので、2回もホームポジションを崩す事になります。
110
+
111
+
112
+
113
+ バグを極力減らす事が出来るので、褒められるべき良い癖の一つですが、速度を意識する場合は悪癖ともいえます。
114
+
115
+ モダンなエディタやIDEは閉じカッコや"忘れはチェックしてくれますのでカッコ忘れたらどうすんだ等と思う必要はありません。
116
+
117
+
118
+
119
+ 矯正には[Typing.io](https://typing.io/)をどうぞ。
120
+
121
+
122
+
67
- # カーソルキーは極力減らそう
123
+ ## カーソルキーは極力減らそう
68
124
 
69
125
 
70
126
 
@@ -82,22 +138,56 @@
82
138
 
83
139
 
84
140
 
85
- # タイピングの無駄
141
+ ## 日本語とプログラミング言語指使いは全く違う
86
142
 
87
143
 
88
144
 
89
- 例えば`(i)`入力する時どうしてますか?
145
+ プログラマの場合、日本語はローマ字の人が多い思いますが、
90
146
 
91
- まさか**Shiftキを押しながら89と入力し、キーで戻ってからiタイプ**…等とはやってませんよね?
147
+ マ字入力の場合、左手は大抵ASERに指をセットし、必要に応じてT・G・Bキーに人差し指伸ばせば殆どのケースをカバー出来います。
92
148
 
93
- 状況もひどくカッコら出る為に右キーを入力る必要ありますので、2回もホームポジションを崩す事にります。
149
+ で意外と左手指を動かすという習慣根付いていないので、プログラミグや英語用のタイピング速度測った時に速くタイプ出来ていないというは往々してあります。
94
150
 
95
151
 
96
152
 
97
- チから入力するなら全て左から入力したほが速いに決まって
153
+ ## タピング速度はこって活かのだ
98
-
99
- モダンなエディタやIDEは閉じカッコや"忘れはチェックしてくれますのでカッコ忘れたらどうすんだ等と思う必要はありません。
100
154
 
101
155
 
102
156
 
157
+ この関数どうやって動かすんだっけ…?
158
+
159
+ 対話シェルを立ち上げてささっと確認出来ます。
160
+
161
+
162
+
163
+ LinuxのGUI版にはGuakeという、ホットキーを押すと上からコンソールが生えてくる便利ツールがあります
164
+
165
+ 「Guake Windows」や「Mac Guake」等とググると別のツールですがホットキーでコンソールを呼び出せるツールがあります。
166
+
167
+
168
+
169
+ RDBに値を確認しにいく時も極力SQLを打ち込みましょう。
170
+
171
+ phpMyAdminにアクセスしてマウスをポチポチやって確認するとか最悪です。
172
+
173
+ 例えばMySQLであればmy.cnfを設定しておき、素早く開発環境のDBにアクセス出来る状態にしておきましょう
174
+
175
+
176
+
177
+ ```Bash
178
+
179
+ $ mysql dbserver
180
+
181
+ > show tables; -- テーブル名を確認
182
+
183
+ > show columns from piko; -- 対象のテーブルのカラムを確認
184
+
103
- 矯正には[Typing.io](https://typing.io/)をどうぞ。
185
+ > select * from piko where xxx = "yyy";
186
+
187
+ ```
188
+
189
+
190
+
191
+ GUI操作をどんなに突き詰めたとしても、4行を打ち込む速度には敵いません。
192
+
193
+ 大量にSQLを発行したり戻る場合は、GUIのSQLクライアントを別途に用意しておくと捗ることもあります。