作業効率が悪い気がするんだけど、なんか良い方法ないかな。。
こんにちは、古賀です!
本記事では、
はてな
「プログラムの作業効率を上げる小テクニック」
を紹介したいと思います!
ちょっとしたテクニックなので、
大幅に作業効率が改善されたりするわけではありません。
色々な視点から、小さなことを積み重ねていくことで、
作業効率は少しずつ改善されていきます!
仕事する環境に影響を受けるテクニックもあるため、
すべての人に使えるわけでもないですが、
少しでも役に立ってくれればと思います!
自己紹介が遅れましたが、
わたしは大学卒業後、上場IT企業に就職し、プログラマー、システムエンジニアとして
約10年間働きまして、現在フリーランスをしております。
プロフィールの詳細はこちらです。
-
プロフィール
こんにちは、古賀正雄です。現在36歳です。 簡単ではありますが、こちらのページで自己紹介とこのブログについてお話します。 高校時代 学生時代は主に野球をしていました。 進学先の高校も野球で選びました。 ...
続きを見る
今回は小テクニックの話です!
大幅にプログラムの効率改善を狙いたい方は、下記の記事がおすすめです!
まずは考え方です!
-
エンジニアとして成長するための考え方!一流へ成長する方法とは?
エンジニアになったけど、いまいち成長を感じられないなぁ。。 作業スピードも品質も平凡。 この先成長していけるんだろうか。。 こんにちは、古賀です! エンジニア ...
続きを見る
続いて準備を大切にしてください!
-
優秀なプログラマーは準備が違う!勝負はコーディング前に決まる!
プログラマーとして働き始めたけど、 まだまだバグも多いし、作業スピードも、周りからの信頼もいまいち。。 なんか効率が良くなる裏技みたいなやり方はないかな。。 こんにちは、古 ...
続きを見る
そして綺麗に書こうとしてください!
-
プログラミングでコードを綺麗に書く隠れたメリット!綺麗に書こうとする意識がメリットを呼ぶ!
「コードを綺麗に書け!」ってよく言われるけど、 いまいちその良さが分からないな。。 綺麗に書けって言われても何を意識して書けばいいのやら。。 こんにちは、古賀です! &nb ...
続きを見る
作る順番も大事です!
-
プログラムを作る手順は?土台作りがプログラム開発のスピードと質を高める!
プログラム開発って、どこから作り始めればいいんだろう? やっぱりユーザーが始めに動かすところから順番に作るのが一番かな。。 こんにちは、古賀です! 本記事では ...
続きを見る
※YouTubeに同内容を公開しております。
プログラム効率を上げるテクニック!コーディング編!
まずは、コーディングの効率を上げる小テクニックです。
別の記事で似た話をしましたが、
「コードを自分で書く量を減らす」
ことが大事です!
コードを自分で書く量を減らす
別記事では、完成プログラムに似ている「ベースプログラム」を選んで、
自分でコードを書く量を減らしましょう、という話をしました。
ベースプログラムから完成に向けて、コーディングする時も、
その「自分でコードを書かない」姿勢は変わりません。
過去に自分が作成したプログラムから、他の人が作成したプログラムから、
活用できるコードを部分的に活用する
これが大事です!
使える部分は積極的にコピーしましょう!
そうすることで、チーム内のソースコードに統一感が出るのも大きなメリットです。
当然自分が経験を積めば積むほど、コピーする材料が蓄積されていくので、
ドンドンと効率は上がっていきます。
キーボードを叩く回数が多ければ、
キーボードを叩くスピードが早ければ良いというわけではありません。
コーディングをしていると「カタカタ」音が凄い人がたまにいますが、
「コピ」、「ペッ」、「ペッ」と音を立てている人の方が作業は早く、質も良いです。
いかに、
「キーボードを叩く回数を少なくできるか?」
が大事です!
1点だけ注意ですが、
注意ポイント
「コピー対象を理解しないまま使ってはいけない」
ということです。
理解せずに使うと、逆にミスを引き起こし、効率を下げてしまうので、
必ず理解してから使うようにしましょう!
プログラム効率を上げるテクニック!デバッグ編!
続いて、デバッグの効率を上げる小テクニックです。
2つのテクニックを紹介します!
- コードを目で確認して単純ミスを減らす
- 自分で作成したテストデータを使ってデバッグする
コードを目で確認して単純ミスを減らす
1つ目のテクニックが、「コードを目で確認して単純ミスを減らす」です。
コピーを活用して、極力自分でコードを書かないようにしても、
まったく自分でコードを書かずに、プログラムが完成することはありえませんよね?
なので、自分でコードを書いたら、
必ずその自分で書いたコードを「目視」して、合っているか確認しましょう!
これで単純なミスを減らしていきます。
極端な例ですが、配列情報から変数へ順々にセットしていく処理があったとします。
name = userInfo[0];
age = userInfo[1];
address = userInfo[1];
書いたコードを目で確認しましょう。
あきらかにおかしい箇所がありますね!
こういうミスを減らしてくと、
最後デバッグする時に、小さなミスが少ないのでスムーズにデバッグすることができます!
自分で作成したテストデータを使ってデバッグする
2つ目のテクニックが、「自分で作成したテストデータを使ってデバッグする」です。
これは開発している内容によって変わりますが、
わたしはSIer業界で業務システムを作成していたので、その場合を例に話します。
業務システムのプログラムを作成していると、
その作成したプログラム動作を確認するために、
商品のマスタデータが必要だったり、売上データが必要になったりします。
この時はデータを自分で作成して、デバッグするべきです。
「えっ!?作業増えてない??」
と思うかもしれませんが、そう思った方は一流思考の記事に戻りましょう!
後で取り返せますから、安心してください!
自分でデータを作成してデバッグすることで、
- システムの理解が深まり、設計のミスに気付く
- 「正しい」の判断がすぐ出来る
- デバッグ時のコード入力等が楽
というメリットが得られ、作業の効率が上がります。
システムの理解が深まり、設計のミスに気付く
自分でデータを作成してデバッグすることで、
「システムの理解が深まり、設計のミスに気付く」ことができます。
プログラマーは、プログラム開発がメインの仕事です。
システムを作ることは出来ても、システム自体の理解が浅くなってしまいがちです。
それを自分でデータを作って、デバッグをすることで、
システムに対する理解を深めるのです。
「設計のミスに気付いたところで、自分の作業が減らないのでは?」
と思うかもしれませんが、後から設計ミスに気付くのでなく、
事前にミスに気付くことで、将来発生する作業を減らすことに繋がります。
周りからの信頼も高まるので、良いことばかりです!
「正しい」の判断がすぐ出来る
自分でデータを作成してデバッグすることで、
『「正しい」の判断がすぐに出来る』ようになります。
プログラムを実行して、その結果を確認。
「この結果は正しい!」
の判断がすぐに出来ます!
自分で作ったデータです。
どのような設定になっていて、
どのように入力して出来たデータなのかを把握しているからです。
これが他人が作成したデータだと、そうはいきません。
「どんな設定になっているのか?」
「このデータはそもそも実行して表示されていいデータなのか?」
いちいち確認が必要です。
デバッグの効率化だけでなく、デバッグの質向上にも繋がります!
デバッグ時のコード入力等が楽
自分でデータを作成してデバッグすることで、
「デバッグ時のコード入力等が楽」になります。
主に入力プログラムですが、
デバッグする時は各入力項目に入力する作業が何度も発生します。
その際、自分で作成したデータだと入力作業が楽です。
コードであれば、わざわざ検索機能を使わずに直接入力することができます。
この小さな作業の積み重ねが、たくさんの時間貯金を生んでくれます!
プログラム効率を上げるテクニック!プログラム外編!
最後にプログラム作業でなく、
- プログラム開発アサイン
- スケジュール管理
という面で作業効率を上げましょう!
プログラム開発アサイン
チームでの対応になりますが、プログラム開発アサインでも効率化ができます!
※プログラム開発アサイン=誰がどのプログラムを担当するか?
似たようなプログラムや、繋がりのあるプログラム(※受注入力⇒受注表など)を、
同一人物でプログラムを作成すると、効率化はもちろん、プログラムの質も上がります!
ただ「育成」という部分を考慮すると、多少非効率なアサインにせざるを得ないと思いますので、
「育成」と「効率」のバランスを考えて判断するのが良いです!
スケジュール管理
スケジュール管理と言いましたが、少し言い換えると、
「人の性格によって、その人が力を発揮しやすい状態にする」
という感じです。
追い込まれないと力を発揮できないタイプの人であれば、
スケジュールはキツキツの方が良いかもしれません。
常に余裕をもって仕事をしたい人であれば、
スケジュールは8割の力でも終えられるようにしておくのが良いでしょう。
あまり見たことないですが、
マルチタスクにしておかないと効率が上がらない人は、色々な仕事を少しずつやる方が良いでしょう!
逆であれば、シングルタスクになるように仕事を整理しておきましょう。
わたしのスケジュール管理
少しわたしの話をすると、わたしは常に余裕を持っておきたいタイプです。
スケジュールは常に「最低限スケジュール」と「目標スケジュール」を設定しておき、
最低限スケジュールは絶対に割らないように、
目標スケジュールで作業を終えられるように意識していました。
作業は常に8割の力で仕事をする感じです。
周りがピンチになった時に、初めて10割の力を出します!
常に10割で仕事をしたい気持ちはありますが、それだと疲れてしまいますからね。。
マルチタスクも極力禁止です。
納期に支障がなければ、小さな作業から順に終わらせ、
常にシングルタスク状態になるようにしています。
その方が自分が持っているボールの数が少なくなるので、
「周りを待たせない」という面でもメリットがあります。
後はバグ修正や問合せ対応とか、マイナス作業ですね。
これも優先的に終わらせるようにしています。
マイナス作業を残しておくと、精神衛生上良くないのでさっさと終わらせたいところです。
このようなことを心掛けることで、精神的に良い状態を作ることができ、
作業効率が上がっていくことに繋がります!
まとめ:プログラム開発の効率を上げる小テクニック
ここまでの話をまとめます。
まとめ
コーディング作業の効率化は、
- コードを自分で書く量を減らす
ことが大事!
積極的に過去に作成したプログラム、他人が作成したプログラムを活用する!
デバッグ作業は、
- コードを目で確認して単純ミスを減らす
- 自分で作成したテストデータを使ってデバッグする
ことを意識して効率化ができる!
プログラム作業以外では、
- プログラム開発アサイン
- スケジュール管理
で効率化ができる!
「誰がどのプログラムを担当したら効率化ができるか?」
「その人はどんなスケジュールだと力が発揮しやすいか?」
を考える!
本記事を書いてきましたが、思いのほか言いたいことがたくさん出てきてしまい、
困惑しております(笑)
長くなり、所々分かりづらくなってしまい、申し訳ないです!
でも実はもっとあるんです。。
他の記事でも書いてあるんですが、
- 周りが気持ちよく仕事が出来るように仕事をする
- 一緒に仕事をする人によって、仕事の仕方を変える
- 周りに信頼してもらう
- イライラする状況を作らない
- 無駄な会議や作業で時間を消費しない
- 信念を持つ
とかですね。
他の記事を読んでいただいている方であれば、なんとなく伝わるのではないでしょうか?
伝わってほしい!!
経験を積んでくると、
本記事のようなちょっとしたテクニックが自分の中で出来上がってくるはずです!
自分の中のテクニックを生み出しましょう!
良いテクニックがあったら教えてください!
スキルを高めって、お互い頑張っていきましょう!