10歩でもっと優秀なプログラマーになれる
1.いつまでも
いかなる代価も惜しまず重複するコードを避ける.よく使われるコードクリップがプログラムのいくつかの異なる場所に現れたら、それを再構築し、それを自分の関数に入れます.コードを繰り返すと、同僚がコードを読むときに困惑します.重複するコードは、ある場所で修正したり、別の場所で修正を忘れたりすると、バグが発生し、コードの体積が膨らんだりします.現代のプログラミング言語は、これらの問題を解決するための良い方法を提供しています.例えば、次の問題は以前は解決しにくいが、今ではlambdasを使用するとよく実現されています.
同じコードの一部を含む関数を再構築し、delegateモードで書き換えます.
2.気を配り始めたとき、フェイスブックやマイクロブログを閲覧しているのではなく、問題を解決していることに気づいたとき、これは通常、短い休憩が必要な信号です.机を出て、コーヒーを飲みに行くか、同僚と5分間話します.直感に反するように見えますが、長く見ると、仕事の効率が向上します.3.急いで任務を急いで原則を放棄しないでください.プレッシャーを持って問題を解決したり、バグを修正したりすると、自制心を失いやすく、自分が急いでいることに気づき、ずっと堅持してきた重要なテスト過程を完全に忘れてしまいます.これは通常、より多くの問題を引き起こし、ボスや同僚の目には専門的ではないように見えます.4.あなたが完成したコードをテストします.あなたのコードが何ができるか知っています.そして、試してみました.それは確かに使いやすいですが、実際には十分な検証が必要です.すべての可能な境界状況を分析し、テストはすべての可能な条件の下で予定通りに動作します.パラメータがある場合は、予想外の値を渡します.null値を渡します.できれば、同僚にあなたのコードを見せて、それを壊すことができるかどうかを聞いてください.ユニットテストは、この目的を達成するための従来の方法である.5.コード審査でコードを提出する前に、同僚を探して一緒に座って、どのような修正をしたかを説明します.通常、同僚が一言も言う必要がなく、コードのエラーを発見することができます.これは自分のコードを自分で審査するよりずっと有効です.6.コードを少なくします.簡単な問題を解決するために大量のコードを書いたことに気づいたら、間違いを犯す可能性があります.次のbooleanの使い方は良い例です.
次のように書くべきです.
コードが少なければ少ないほどいいです.これにより、bugがより少なくなり、再構築の可能性がより小さくなり、エラーの確率がより小さくなります.適度に.可読性は同等に重要で、コードの可読性を失わせることはできません.
7.エレガントなコードのためにエレガントなコードを努力するのは非常に読みやすく、手元の少ないコードだけで、機械に少ない演算をさせることで問題を解決することができます.さまざまな環境でコードの優雅さを実現するのは難しいですが、しばらくの間プログラミングを経て、優雅なコードがどのようになっているかに初歩的な感じがします.優雅なコードは再構築によって得られません.優雅なコードを見ると嬉しいです.あなたはそれを誇りに思っています.たとえば、次の方法は、多角形の面積を計算する優雅な方法だと思います.
いかなる代価も惜しまず重複するコードを避ける.よく使われるコードクリップがプログラムのいくつかの異なる場所に現れたら、それを再構築し、それを自分の関数に入れます.コードを繰り返すと、同僚がコードを読むときに困惑します.重複するコードは、ある場所で修正したり、別の場所で修正を忘れたりすると、バグが発生し、コードの体積が膨らんだりします.現代のプログラミング言語は、これらの問題を解決するための良い方法を提供しています.例えば、次の問題は以前は解決しにくいが、今ではlambdasを使用するとよく実現されています.
///
///
///
void OriginalA()
{
DoThingsA();
// unique code
DoThingsB();
}
///
///
///
void OriginalB()
{
DoThingsA();
//
DoThingsB();
}
同じコードの一部を含む関数を再構築し、delegateモードで書き換えます.
///
/// Encapsulate shared functionality
///
/// User defined action
void UniqueWrapper(Action action)
{
DoThingsA();
action();
DoThingsB();
}
///
/// New implmentation of A
///
void NewA()
{
UniqueWrapper(() =>
{
// unique code
});
}
///
/// New implementation of B
///
void NewB()
{
UniqueWrapper(() =>
{
// unique code
});
}
2.気を配り始めたとき、フェイスブックやマイクロブログを閲覧しているのではなく、問題を解決していることに気づいたとき、これは通常、短い休憩が必要な信号です.机を出て、コーヒーを飲みに行くか、同僚と5分間話します.直感に反するように見えますが、長く見ると、仕事の効率が向上します.3.急いで任務を急いで原則を放棄しないでください.プレッシャーを持って問題を解決したり、バグを修正したりすると、自制心を失いやすく、自分が急いでいることに気づき、ずっと堅持してきた重要なテスト過程を完全に忘れてしまいます.これは通常、より多くの問題を引き起こし、ボスや同僚の目には専門的ではないように見えます.4.あなたが完成したコードをテストします.あなたのコードが何ができるか知っています.そして、試してみました.それは確かに使いやすいですが、実際には十分な検証が必要です.すべての可能な境界状況を分析し、テストはすべての可能な条件の下で予定通りに動作します.パラメータがある場合は、予想外の値を渡します.null値を渡します.できれば、同僚にあなたのコードを見せて、それを壊すことができるかどうかを聞いてください.ユニットテストは、この目的を達成するための従来の方法である.5.コード審査でコードを提出する前に、同僚を探して一緒に座って、どのような修正をしたかを説明します.通常、同僚が一言も言う必要がなく、コードのエラーを発見することができます.これは自分のコードを自分で審査するよりずっと有効です.6.コードを少なくします.簡単な問題を解決するために大量のコードを書いたことに気づいたら、間違いを犯す可能性があります.次のbooleanの使い方は良い例です.
if (numMines > 0)
{
enabled=true;
}
else
{
enabled=false;
}
次のように書くべきです.
enabled = numMines > 0;
コードが少なければ少ないほどいいです.これにより、bugがより少なくなり、再構築の可能性がより小さくなり、エラーの確率がより小さくなります.適度に.可読性は同等に重要で、コードの可読性を失わせることはできません.
7.エレガントなコードのためにエレガントなコードを努力するのは非常に読みやすく、手元の少ないコードだけで、機械に少ない演算をさせることで問題を解決することができます.さまざまな環境でコードの優雅さを実現するのは難しいですが、しばらくの間プログラミングを経て、優雅なコードがどのようになっているかに初歩的な感じがします.優雅なコードは再構築によって得られません.優雅なコードを見ると嬉しいです.あなたはそれを誇りに思っています.たとえば、次の方法は、多角形の面積を計算する優雅な方法だと思います.
static public double GetConvexPolygonArea(Vector2[] vertices)
{
double area = 0;
for (int i = 0; i
8.
, , , 。 , / , 。 :
void DamagePlayer(Player player, int damageAmount)
{
if (!player.m_IsInvincible && !player.m_IsDead)
{
player.InflictDamage( damageAmount );
}
}
9. な を してコードに を め まないのは、 を しているのか できないため、 です. がある はさらに いです. じ がコードの の に れます. つだけ して、 のものを れたら.これによりバグが します.コードに だけ れても、 する を す を しなければなりません.10. を の としてしないでください. はいつも いを すのが きです.もしあなたが の をしていて、 で できないなら、あなたは ったことをしています.できるだけ を して させ、 なミスを らす. の が い として、これは に です.11. すぎる を ける コードを すると、 する があります. は、パフォーマンス レポートが が であることを している にのみ します. 、プロジェクト の です.パフォーマンス の アクティビティは、 の であり、バグが します.プログラミング プロセスの に つことを っています