Javaプログラマーが従わなければならない「分野」は何ですか?
1.コードにコメントを追加しますが、誰もがそうではありません。コメントを追加するのを何回「忘れて」いますか?実際、コメントはプログラムに関数機能を追加しません。しかし、2週間前にコードが書かれたコードを何回見ましたか?あなたは幸運なことに、これらの未確認のコードが自分で書かれており、あなたはまだあなたの心に残っている印象を持っているでしょう。残念ながら、ほとんどの場合、コードは他の誰かによって書かれており、その人は会社を去った可能性があります。 「やってくると、相互利益があり、相互利益があります」ということわざがあります。そのため、プログラマーはお互い(およびあなた自身)を思いやり、コードについてコメントする必要があります。
2。私はこれを複雑にしないでください、そして私はあなたが同じだと信じています。開発者は、複雑な方法を使用して簡単な問題を解決する傾向があります。 5人のユーザーを持つシステムにEJBを導入して、フレームワークを必要としないアプリケーション、属性ファイル、オブジェクト指向ソリューション、スレッドの使用を必要としないアプリケーションにフレームワークのセットを実装しましたが、これらはまったく必要ありません。なぜこれをしたのですか?より良い解決策があることを知らない人もいるかもしれませんが、他の人は新しいことを学ぶために意図的にそれをするかもしれません、または単にそれが楽しいからです。より良い解決策を知らない人のために、経験豊富なプログラマーのアドバイスをもっと聞いてください。個人的な目的のために純粋にデザインを複雑にする人のために、私はあなたがより専門的になることをお勧めします。
3.覚えておいてください - 「Less Is More」は常に良いことではありませんが、多くの場合、効率の低いコードラインはそれが高いほど効率的ではありません。次の「単純な」例を参照してください。
if(newstatuscode.equals( "sd")&&(selloffdate == null || todaydate.compareto(selloffdate)<0 ||(lastuseddate!= null && todaydate.compareto(lastuse ddate)> 0))||(newStatusCode)。 equals( "obs")&&(obsdate == null || todaydate.compareto(obsdate)<0)){newstatuscode = "nyp";条件が何であるかを指摘するのはどれほど難しいですか?このコードを書いた人が第1条に従わなかったことをもう一度想像してください - コードにコメントを追加します。
条件を2に分解するのは簡単ではありませんか?それでは、変更されたコードを見てみましょう。
if(newstatuscode.equals( "sd")&&(selloffdate == null || todaydate.compareto(selloffdate)<0 ||(lastuseddate!= null && todaydate.compareto(lastuse ddate)> 0)){newStatusCode = " nyp ";} else if(newstatuscode.equals(" obs ")&&(obsdate == null || todaydate.compareto(obsdate)<0)){newstatuscode =" nyp ";}これはより良い読みやすさではありませんか?確かに、私たちは繰り返し声明を書きました。
4.「ハードコーディング」をしないでください。しかし、別の可能性は、この教訓に従うことで、「時間緊張」のジレンマに陥ることはないということです。静的な最終変数を定義し、コードの行を追加するのにどれくらい時間がかかりますか?例えば:
パブリッククラス{パブリックファイナルストリングS_CONSTANT_ABC = "ABC";ここで、文字列「ABC」を変数と比較する必要があるたびに、それが何であるかを覚えていないA.S_CONSTANT_ABCを参照してください。この定数を変更することは、すべてのコードで調べることなく、1つの場所で変更するだけです。
5.独自のフレームワークを発明しないでください。多くのフレームワークは非常に完璧なソリューションであり、数千のシステムで使用されています。最新の人気のあるフレームワークに注意を払い、少なくとも表面上のフレームワークに精通する必要があります。最も成功し、広く使用されている例の1つは、Struts Frameworkです。これは、独自のバージョンのStrutsを構築しようとするために優れた選択肢であるオープンソースのWebフレームワークです。ただし、第2条の教訓を覚えておく必要があります(翻訳者のメモ:元のテキストは「第3条」であり、明らかに正しくありません) - 単純なものを複雑にしないでください。開発するシステムには3つのインターフェイスのみがある場合、そのようなシステムを使用しないでください。 、したがって、著者は、「コントロール」が必要なことはあまりないと述べた)。
6。ラインと文字列の連結を印刷してください。デバッグの利便性のために、プログラマーはsystem.out.printlnを使用して、それを自分自身に言った後に削除します。しかし、これらの行を削除することを忘れているか、テストのためにそれらを削除することを嫌います。これは、誤って削除する必要があるコードの行につながる可能性があります。 system.out.printlnの害を過小評価しないでください。次のコードを参照してください。
public class badcode {public void calculationwithprint(){double somevalue = 0d; (){double somevalue = 0d; calculation withoutprint()}}以下の表に示すように、Print()メソッドの計算時間は0.001204秒です。
(このようなテーブルの作り方を知りたい場合は、別の記事「WSADを使用したJavaプロファイリング」Javaプロファイリングを使用してください)
CPU廃棄物を避けるために、最良の方法は、次のようにラッパー方法を導入することです。
パブリッククラスバッドコード{public static int debug_mode = 1; = somevalue + i; static void main(string [] n){badcode.calculationwithprint(badcode.production_mode)}}文字列接続は、CPUを無駄にする別の方法です。次の例を参照してください。
public static void concatenatestrings(string startingstring){int i = 0; i <20; i ++){startingstring+startingsingString; append(int i = 0; i ++);以下の表から、StringBufferを使用すると、String接続を使用するには0.08秒が必要であることがわかります。
7. GUIに注意を払ってください。どんなにばかげていても、私が何度も気づいたことが1つあります。グラフィカルユーザーインターフェイス(GUI)は、プログラムの機能と実行効率と同じくらい重要です。 GUIは、アプリケーションの成功に不可欠です。 ITマネージャーは、GUIの重要性を無視しています。 Javaプログラマーは、限られたHMTLの知識に依存する必要があります。 「使いやすい」ではなく「コンピューターに優しい」アプリケーションをたくさん見ており、ソフトウェア開発とユーザーインターフェイス開発に熟練した開発者にとってはまれです。 残念ながらインターフェイス開発を行うように割り当てられているJavaプログラマーの場合、次の3つのルールに従う必要があります。
a。アプリケーションシステムに似たインターフェイスを確認します。
b最初にプロトタイプを作成します。このステップは非常に重要です。顧客は、事前に使用したいものを見たいです。また、顧客が嫌いなものを作成するために一生懸命働くのではなく、フィードバックを得ることができます。
c。言い換えれば、ユーザーの観点から要件を表示します。たとえば、統計インターフェイスをページングするかどうか。開発者として、顧客の観点からは多くのトラブルを軽減するため、ページングを無視する可能性があります。
8。各ビジネス要件を事前に準備します。これはおとぎ話で達成できますが、実際にはすることは困難です。時間がどれほどタイトであっても、期限がどんなに近づいても、ビジネスのニーズが記録されることを確認する必要があります。 (翻訳者のメモ:この概念は明らかにアジャイル開発に反しています。誰もが独立して考え、正しいことを間違っていると区別する必要があります)
9。単位テスト、単位テスト、ユニットテスト。ユニットテスト)。単位テストの詳細については説明しません。 。これはプログラミングの最も基本的なルールであり、無視することはできません。同僚があなたのコードのテスト計画を作成できる場合、それは自分でそれを行うでしょう。ユニットテスト計画を実行するときは、次の原則に従ってください。
a
bユニットテストのコメントを維持します
cは、「興味深い」パブリック方法に必要です(「興味深い」とは、最も一般的なゲッター/セッターのような方法以外の方法を意味しますが、独自のコンテンツが含まれています。)
10。覚えておいてください。製品の問題、締め切り、またはその他の緊急事態のために、時間通りに仕事を辞めることができないことを知っています。しかし、マネージャーは、一般的な問題に対して遅すぎることに感謝したり、報酬を与えたりしません。上記の列の原則に従うと、より堅牢でバグのないプログラムを書きます。これがあなたが最もすべきことです。
この記事では、Javaプログラマーが注意を払うべき10の最も重要なルールをまとめています。知っているだけでは十分ではありません。これらのルールが、私たちがより専門的なプログラマーになることを可能にすることを願っています。