タブ or スペース? インデントには タブ文字を使用する方法と半角スペースを使用する方法があります インデントにタ ブ文字を使うか半角スペースを使うかは 各プロジェクトで決められていることもありますが プログラ ムを書く人の好みだったりすることもあります まともなエディタであれば タブキーを押下し

Similar documents
JavaプログラミングⅠ

することができます通常は 開発現場ごとに 関数の説明として記述する内容や形式が決まっていること が多いです javadoc 内では コメントを記入する際にクラスやメソッドの役割を示す為のタグを使用します : : クラス

JavaプログラミングⅠ

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati


Java講座

ガイダンス

JavaプログラミングⅠ

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Prog1_6th

Microsoft PowerPoint - prog03.ppt

kantan_C_1_iro3.indd

JavaプログラミングⅠ

プログラミングA

PowerPoint プレゼンテーション

JavaプログラミングⅠ

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

プログラミングA

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Microsoft Word - VBA基礎(6).docx

JavaプログラミングⅠ

Javaプログラムの実行手順

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和

ポインタ変数

Microsoft PowerPoint - class04.ppt

JavaプログラミングⅠ

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

Microsoft PowerPoint - 12.ppt [互換モード]

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

ポインタ変数

Prog2_12th

Microsoft Word - java a.doc

JavaプログラミングⅠ

Java プログラミング Ⅰ 11 回目多次元配列 2 次元配列 2 次元配列配列要素が直線上に並ぶ一次元配列に対して 平面上に並ぶ配列要素をもつ配列 直観的には 2 次元配列の準備配列変数の宣言は型と識別子を指定して次のように行う 型識別子 [ ][ ]; または 型 [ ][ ] 識別子 ; 配

<4D F736F F D2091B2985F8DEC90AC82CC82BD82DF82CC576F726482CC8AEE967B E836A E E646F6378>

PowerPoint Presentation

PowerPoint プレゼンテーション

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

JavaプログラミングⅠ

情報実習Ⅱ

untitled

C#の基本2 ~プログラムの制御構造~

Microsoft PowerPoint - prog04.ppt

PowerPoint プレゼンテーション


/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){

PowerPoint プレゼンテーション

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

Prog1_2nd

Prog2_15th

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

PowerPoint プレゼンテーション

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

JavaプログラミングⅠ

Prog2_9th

Microsoft PowerPoint - 12.ppt [互換モード]

PowerPoint プレゼンテーション

Microsoft PowerPoint - 3.pptx

Microsoft PowerPoint - 5Chap15.ppt

Sort-of-List-Map(A)

Java知識テスト問題

情報処理Ⅰ

デジタル表現論・第4回

Prog1_10th

プログラミング基礎

ガイダンス

Microsoft PowerPoint - 13.ppt [互換モード]

JavaプログラミングⅠ

※ ポイント ※

Microsoft Word A02

プログラミング入門1

Prog1_3rd

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

memo

ガイダンス

PowerPoint プレゼンテーション

エクセルの基礎を学びながら、金額を入力すると自動的に計算され、1年分の集計も表示される「おこづかい帳」を作りしょう

Python の基本事項の学習 このラーニングラボでは Python のシンタックス ( 構文 ) スコープ ( 有効範囲 ) 変数 演算子 単純な条件分岐の基本事項を学習します 目標 所要時間 :45 分 Python の基本的なインデントとスコープを理解しよう 変数の割り当て方法と使用方法を学習

Microsoft Word - VBA基礎(3).docx

Microsoft Word - problem3.doc

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

Javaプログラマー早期育成ドリル ~コードリーディング編~ 解答

スライド 1

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

GEC-Java

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

ガイダンス

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

CodeGear Developer Camp

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

Microsoft PowerPoint - chap10_OOP.ppt

プレポスト【問題】

C#の基本

��8��

発展プログラミング (5) 例題 5-03( 応用プログラム 3 目並べ その 2) 勝敗判定機能をそなえた 3 目並べ のゲーム盤を作りましょう 必要な変数を考えましょう 1 マス目の状態を保持する配列 整数型 :mas[] 2 何手目かを数える変数 整数型 :nante 3 ゲームが終了したかど

基本情報STEP UP演習Java対策

JavaプログラミングⅠ

Microsoft PowerPoint ppt

Transcription:

第 1 章. ソースコードの見た目を整えよう 読みやすいプログラムを書くには まず ソースコードの見た目を整えて きれいに書くことが大切です 手書きで文章を書くときの動作に例えると 丁寧な字で 位置をまっすぐ揃えて書く という感覚に近いです この章では ソースコードの見た目の整え方や 整える上で気をつけるポイントについて説明します 1-1. インデント ( 字下げ ) を行おう ソースコードの見た目で最も重要なのがインデント ( 字下げ ) です インデントとは i f や for など 波 括弧 { } で作られるブロック内の各行を 1 タブ分 ( 半角スペース 4 個分等 ) 下げることです インデントを行うことにより プログラムの構造が把握しやすくなります 逆に インデントがきちんと行わ れていないソースは どこからどこまでが分岐や繰り返しの範囲なのかが分かりづらく プログラムの内容 を解析するのが難しくなります インデントが崩れているソースコードは 読みにくさのあまり 読む気を無くしてしまうことさえあります また そのようなプログラムは プログラムロジックの品質まであやしく思えてきてしまいます ブロックの構造もきちんと整えられないプログラマに まともな論理構造が組み立てられるとは到底思えないからです プログラムを書く際は 必ずインデントを行うようにしましょう

タブ or スペース? インデントには タブ文字を使用する方法と半角スペースを使用する方法があります インデントにタ ブ文字を使うか半角スペースを使うかは 各プロジェクトで決められていることもありますが プログラ ムを書く人の好みだったりすることもあります まともなエディタであれば タブキーを押下したときに半角スペース 4 個分等に置き換えてインデントを行う機能を備えています また タブ文字を半角スペース何個分の幅でエディタ画面上に表示するのかを指定することもできます よって タブとスペースのどちらを使用してもコーディング作業に支障があるというようなことは特にありません ただし 半角スペースでインデントを行っていると たまにソースを修正する際に誤ってスペース1 文字分だけずれてしまって微妙にインデントが崩れてしまうことがあります 通常は タブ文字を使用したほうが インデントがきれいに整った状態を保ちやすいです 一般的には インデントには半角スペース 4 個分の幅のタブ文字を使用することが多いようです 1-2. 空白 ( スペース ) を入れよう 変数名と演算子の間や 括弧やカンマの前 / 後には 適宜半角スペースを挿入し それぞれが識別しや すくなるようにしましょう 全くスペースを入れずに記述してしまうと 変数と演算子等の区切りが分かりづ らくなり 読みにくくなってしまいます 以下に スペースを挿入した記述例を示します

代入演算子 算術演算子 i = num + 10; ^ ^ ^ ^ if 文 比較演算子 if (ret == 0) { ^ ^ ^ ^ ( とその直後の文字の間には空白を入れない ) とその直前の文字の間には空白を入れない for 文 for (expression1; expression2; expression3) { ^ ^ ^ for (int i = 0; i < arr.length; i++) { ^ ^ ^ ^ 3 項演算子 absnum = (num >= 0)? num : -num; ^ ^ ^ ^ キャスト演算子 ave = (double) sum / count; ^ 配列 new 演算子 int[] arr = new int[10]; ^ ^ ^ Java では 配列は型の後ろに [] が来る 型と [ の間には空白を入れない アクセス修飾子 フィールド private String message; ^ ^ コンストラクタ public HelloJava() { ^ message = "Hello, Java!"; } コンストラクタ名と ( の間には空白を入れない

メソッドの呼び出し hj.print(name, age); ^ ドット演算子の前後には空白を入れない メソッド名の後ろに続く ( の前には空白を入れない 1-3. 空行を入れよう プログラムは色々な処理が組み合わさって出来上がりますが プログラムが長くなってくると処理の流れ を追うのが大変になってきます このとき まとまった処理ごとにソースコードに空行が挿入されていると 空行から空行までのまとまった処理をひとつの かたまり と認識して読むことができ プログラムの流れが追いやすくなります 逆に ソースコードに空行が全く挿入されていない場合 どこからどこまでをひとつの処理のまとまりと見てよいのかが分かりづらくなり 読みにくくなります プログラムを記述する際は 関連した処理のまとまりを意識して 適宜空行を挿入しましょう

1-4. 波括弧 { } の記述位置を統一しよう Java では 波括弧 { } で関数 / メソッドや if f or 文などのブロックを作りますが 波括弧を記述する位 置はコーディングのスタイルによりさまざまな種類があります 基本的に どのスタイルを使用しても問題はありません しかし ひとつのソースファイル内で複数のスタ イルが混在していると とても読みにくいソースになってしまいます 波括弧の記述位置のスタイルは 一貫して同じものを使うようにしましょう

Java で一般的な K & R スタイルでのソースコードの記述例を以下に示します 1-5. 波括弧 { } は省略せずに書こう Java では i f や for 文などで処理が 1 文の場合は 波括弧を省略して記述することができます しかし 処理が 1 文の場合でも 波括弧は省略せずに必ず記述するようにしたほうがよいです 波括弧を省略すると 以下のような問題があります 文のインデントのみで処理部分を判別しなければならないため やや明確さに欠ける e l se - i f 等で複数の判定が存在する場合に 波括弧のあるものとないものが混ざっていると読みにくくなる ループや判定のネストが深くなると制御文の対応関係が把握しづらくなる その周辺でバグがあった場合 これは波括弧がなくて本当に大丈夫か? つけ忘れではないか? 等 括弧の有無による動作の違いやコードの妥当性をわざわざ検証しなければならなくなる プログラムの修正の際に処理内容が複数文必要になったとき 処理を追加すると同時に記述されていなかった波括弧を付け加えないといけないため 少し面倒 if がネストしているときに e l se - i f や e ls e を記述する場合は その e ls e がどの if にかかっているかを 把握するためにひとつひとつの if の制御の範囲を確認する必要があり 煩雑 うっかり読み誤ると難解なバグ になる 波括弧を必ず記述するようにした場合 若干行数が増えてしまいますが 上述のような問題は解消されま す プログラムをより明確にし 余計な誤解を避け 少しでも安全にするため 波括弧は省略せずに書き ましょう

1-6. 一行が長くなりすぎないようにしよう ソースコードの各行は 長くなりすぎないようにしましょう 行が長すぎると エディタのウィンドウ幅に収まらず 横スクロールバーを操作しなければならなくなります コード内容を確認するためにいちいちスクロールバーを操作するのは面倒です 一般的に 一行の長さは半角の 80~100 文字くらいまでに収めるようにしたほうがよいです しかし 条件式が複合条件になって i f 文が長くなる場合など 行がどうしても長くなってしまうこともあり ます その場合は適宜改行を入れて読みやすくなるようにする必要があります

改行する場合はインデントしたほうがよいです 後続の行と明確に区別できるように 2 つ分のインデント を行うと読みやすくなります