『Javaプログラミング思想』を読み直す


この間、豆弁で何気なく「私はどうしてthinking in javaを10回読んだのか」という投稿を見ました.11年の投稿ですが、以下のコメントは今でもありますが、多くの人は感心して支持しています.私も個人的にはとても支持していますし、『Thinking in Java』も再読するつもりで、学校の先生は「百回読んで、その意味は自見だ!」と何度も強調していますが、プログラム猿については、読むだけでなく、実践しなければなりません.
一、どうしてまた読むの
    前編では、Java界にどのように立脚するか、頼りにしているのは2つです.
    1、基本功、含む:Java基本知识、(Javaプログラミング思想、Effective Java)、Java进阶(Java仮想机、Java设计モード)、ネットワーク関连(この时代はネットワークがなければ何もなくて、Javaネットワークプログラミング、HTTP権威ガイド、TCP/IPプロトコル)、计算机システム関连(コンパイル原理、深くコンピュータシステムなどを理解する)これらはすべて根本で、万変不離その宗とは、これらの基本功を身につけた上で、新しい技術を学び、日進月歩の新しい技術に直面すると余裕がある.
    2、こまごました知識をつなぎ合わせる能力、つまりまとめる能力.仕事中でも勉強中でも、最初に使った知識は東一枚、西一枚で、実は多くのものが関連していて、システムの整理を通じて自分の知識体系を形成して、自分の専属分野を作って、これもJava界に立脚する根本です.
    多くのプログラム猿にとって、プログラミング類の本、特に「Thinking in Java」のように内部原理を解釈した本を一度読むのはだめかもしれない.プログラミングしてからしばらくして(いろいろな問題にぶつかって)この本を読むと、「===」と「equals」の違い、equalsを上書きするときはhashCodeを上書きするのか、なぜアップコンバートするのは自動的なダウンコンバートなのにCastが必要なのか、なぜ定数の代わりにEnum類を使うのかなどの問題があり、この本を読むと答えが見つかります.この本の緒論の言葉を借りる.
Like any human language, Java provides a way to express concepts. If successful, this medium of expression will be significantly easier and more flexible than the alternatives as problems grow larger and more complex.You can’t look at Java as just a collection of features—some of the features make no sense in isolation. You can use the sum of the parts only if you are thinking about design, not simply coding. And to understand Java in this way, you must understand the problems with the language and with programming in general. This book discusses programming problems, why they are problems, and the approach Java has taken to solve them. Thus, the set of features that I explain in each chapter are based on the way I see a particular type of problem being solved with the language. In this way I hope to move you, a little at a time, to the pointwhere the Java mindset becomes your native tongue.Throughout, I’ll be taking the attitude that you want to build a model in your head that allows you to develop a deep understanding of the language; if you encounter a puzzle, you’ll feed it to your model and deduce the answer.
本の中のすべての概念あるいはモードの創立はすべて特定の問題を解決するためで、これらを理解すれば、効率的で迅速にJavaを使うことができます.
二、どう読むか
     1、実践
    本を読んでから実践することが大切で、「目が高くて手が低い」のではなく、特に私たちのプログラム猿にとって、実践は真理を検証する唯一の基準であり、この言葉は非常に適切である.本はコードの解読にすぎず、コードだけが正しいかどうかを検証することができる.学んだことを少しずつプロジェクトに使うには、例えば定数の代わりにEnumクラスを使う必要があります.
置換前:
public static final String AUDIT_WAIT = "   ";
public static final String AUCTIONING = "   ";
public static final String ENDAUCTION = "     ";
public static final String AUCTION_WAIT = "    ";

置換後:
public enum BidProductStatus{
		AUDIT_WAIT("   "), AUCTIONING("   "), ENDAUCTION("     "), AUCTION_WAIT("    ");

		public String getDesc() {
			return desc;
		}

		public void setDesc(String desc) {
			this.desc = desc;
		}

		private String desc;
		BidProductStatus(String s) {
			desc = s;
		}
	}

     2、ソースコードを読む
    「Read The Fucking Source Code」、略称「RTFSC」は、ソースコードを読むことをプログラム猿たちは知っているはずだ.その内部原理を知りたいですか.では、ソースを読んでください.仕方がありません.Springのように、どうしてそんなに牛が追い詰めて、1つの機能、1つのプロファイルあるいは1つの注釈で完成して、どのようにして、ソースコードを読みに行きましょう!クラシックなオープンソースフレームワークはJavaを極致に運用し、設計モデルも学ぶことができます.私の「Springアプリケーション」のコラムはSpringソースを読んだ上で完成したもので、私は何度も研究しなければなりません.
三、まとめ
簡単な仕事を繰り返して、あなたは「専門家」になりました!今度は再読のために、あとでまた読んでいるかもしれないし、十回も読んでいるかもしれないし、誰が知っているだろうか.以上は個人的な観点で、ここで記録して、励まします!