{"action":"created","issue":{"url":"https://api.github.com/repos/clear-code/readable-code-workshop/issues/12","labels_url":"https://api.github.com/repos/clear-code/readable-code-workshop/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/clear-code/readable-code-workshop/issues/12/comments","events_url":"https://api.github.com/repos/clear-code/readable-code-workshop/issues/12/events","html_url":"https://github.com/clear-code/readable-code-workshop/issues/12","id":123399434,"number":12,"title":"2015-12-22: リーダブルコードメモ","user":{"login":"kou","id":27350,"avatar_url":"https://avatars.githubusercontent.com/u/27350?v=3","gravatar_id":"","url":"https://api.github.com/users/kou","html_url":"https://github.com/kou","followers_url":"https://api.github.com/users/kou/followers","following_url":"https://api.github.com/users/kou/following{/other_user}","gists_url":"https://api.github.com/users/kou/gists{/gist_id}","starred_url":"https://api.github.com/users/kou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kou/subscriptions","organizations_url":"https://api.github.com/users/kou/orgs","repos_url":"https://api.github.com/users/kou/repos","events_url":"https://api.github.com/users/kou/events{/privacy}","received_events_url":"https://api.github.com/users/kou/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2015-12-22T02:25:30Z","updated_at":"2015-12-22T05:12:18Z","closed_at":null,"body":"「自分が書いたリーダブルコード」と「自分が見つけたリーダブルコード」をここにメモしていっていてください。目的は「リーダブルコードを見つける練習」です。単に「書く」「見つける」だけでなく、「メモとしてまとめる」ことまですることで「再利用可能な状態」（＝他の人に説明できる、他の場面で同じ書き方を適用できる）まで自分の中で整理されることを期待しています。\r\n\r\n1つのリーダブルコードにつき1つのコメントにしてください。\r\n\r\n各コメントには次の内容を含めてください。\r\n\r\n* サマリー（あるいはタイトルあるいは一言説明）\r\n* 実際のコード\r\n* どうしてリーダブルだと考えたかの説明\r\n* 「見つけた」場合のみ：見つけた経緯（あるいはきっかけ）\r\n\r\nコメントに書くときは次のテンプレートを使ってください。\r\n\r\n    ### サマリー\r\n\r\n    （ここにサマリーを書く）\r\n\r\n    ### 実際のコード\r\n\r\n    ```java\r\n    （ここに実際のコードを書く）\r\n    ```\r\n\r\n    ### どうしてリーダブルだと考えたかの説明\r\n\r\n    （ここに説明を書く）\r\n\r\n    ### 見つけた経緯\r\n\r\n    （「見つけた」場合のみ。ここに見つけた経緯を書く。）\r\n\r\n\r\n以下は具体例です。\r\n\r\n---\r\n\r\n### サマリー\r\n\r\n自己記述的定数名\r\n\r\n### 実際のコード\r\n\r\nhttps://github.com/doraemon13x/doraemon13x-sezemi-2014-readable-code-2/blob/master/mission3.c#L9\r\n\r\n```c\r\nexit(EXIT_FAILURE);\t/* エラーの場合は異常終了する */\r\n```\r\n\r\n### どうしてリーダブルだと考えたかの説明\r\n\r\nコマンドの終了ステータスは、正常終了するときは`0`、異常終了するときは`0`以外の値を返すのが通例です。そのため、このコードは次のようにしても通例通りの動きになります。\r\n\r\n```c\r\nexit(1);\r\n```\r\n\r\nただ、動くのは動きますが、`EXIT_FAILURE`という名前を使っている方が「失敗して終了するんだな」というのがわかりやすいのでリーダブルだと考えました。\r\n\r\nなお、`EXIT_SUCCESS`というのもあるので、同様の理由で正常終了するときはそれを使うのがよいと思います。\r\n\r\n### 見つけた経緯\r\n\r\nちゃんとエラー処理をしていて立派だなぁと思って読み進めたら異常終了することがわかりやすいコードだと気づきました。\r\n\r\n----\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/clear-code/readable-code-workshop/issues/comments/166507504","html_url":"https://github.com/clear-code/readable-code-workshop/issues/12#issuecomment-166507504","issue_url":"https://api.github.com/repos/clear-code/readable-code-workshop/issues/12","id":166507504,"user":{"login":"yoshioky","id":16343703,"avatar_url":"https://avatars.githubusercontent.com/u/16343703?v=3","gravatar_id":"","url":"https://api.github.com/users/yoshioky","html_url":"https://github.com/yoshioky","followers_url":"https://api.github.com/users/yoshioky/followers","following_url":"https://api.github.com/users/yoshioky/following{/other_user}","gists_url":"https://api.github.com/users/yoshioky/gists{/gist_id}","starred_url":"https://api.github.com/users/yoshioky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yoshioky/subscriptions","organizations_url":"https://api.github.com/users/yoshioky/orgs","repos_url":"https://api.github.com/users/yoshioky/repos","events_url":"https://api.github.com/users/yoshioky/events{/privacy}","received_events_url":"https://api.github.com/users/yoshioky/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T05:12:18Z","updated_at":"2015-12-22T05:12:18Z","body":"### サマリー\r\n\r\n周辺情報を説明\r\n\r\n### 実際のコード\r\n\r\nReadme.txtより\r\n\r\n```\r\nレシピ情報出力プログラム\r\n\r\n■ビルド手順\r\n1. Visual Studio 2013で Recipe.sln を開く。\r\n2. ビルドを実行する。\r\n\r\n■実行手順\r\n1. コマンドプロンプトを起動する。\r\n2. ビルド構成に応じて、DebugもしくはReleaseフォルダーをカレントにする。\r\n3. そのフォルダーに、レシピデータを記述したテキストファイルを作成する。\r\n　ファイル名：任意\r\n　中身　　　：１行目にレシピ情報を指定する\r\n4. コマンドプロンプトから「Recipe.exe レシピファイル名」を実行する\r\n　例）Recipe.exe recipe-data.txt\r\n```\r\n\r\n### どうしてリーダブルだと考えたかの説明\r\n\r\n手順が詳細に書いてあるので、説明を受けなくても実行・デバッグができる\r\n\r\n### 見つけた経緯\r\n\r\nReadme.txtを開いてみた"}}