Javaの個人的読みやすいコードフォーマット
個人的読みやすいコードフォーマット【Java版】
このサイトがわかりやすく、見やすいかと思いました。
↑のページにかかれていること以外で、自分なりに気をつけていることをまとめます。
変数の定義時には型を省略しない
int val1 = 1, val2 = 2;
ではなく、型を付けて宣言する。
int val1 = 1; int val2 = 2;
ifの括弧と中括弧について
if(val==1) { // } else { // }
ではなく、↓のように書く
if (val == 1) { // } else { // }
for
for(int i=0; i<2; i++) { // }
ではなく、↓のように書く。(=,<等の前後にスペースを入れています)
for (int i = 0; i < 2; i++) { // }
builder
SampleModel model = new SampleModel.builder() .val1(1) .val2(2) .build();
SampleModel model = new SampleModel.builder()
でbuilderを使ってインスタンスを生成することを表す。
↓の例のように、builder()
で改行すると、SampleModel model = new SampleModel
で何をするのか分かりづらい。
(次の行を読んで、builderと初めて分かるため)
SampleModel model = new SampleModel .builder() .val1(1) .build();
コメントの内容について
コメントは、その処理で何をやっているかではなく、どのような処理をしているのかを書く。
if (val == 1) { // valが1の場合の処理 }
ではなく、↓のように書く。
if (val == 1) { // valが1の場合、〇〇の処理を行う } if (!result) { // 前処理で〇〇かXXの処理が失敗している場合 }
このようにすれば、コメント部分をヒントに後続処理を読むことができる。
1行に書きすぎない
sampleModel.setVal(Integer.parseInt(sameModel.getVal()));
Integer sameModelVal = Integer.parseInt(sameModel.getVal()); sampleModel.setVal(sameModelVal);
デバッグする場合、2つの処理に分けたほうがやりやすいと考えているからです。
空行はインデントを入れる
if (true) { int a = 1; // このような空行にはインデントを入れる. int b = 2; }
class Sample() { public void method1() { // } // こことか public void method2() { // } }
インデントを入れなかった場合は、何か処理を入れようとした場合にタブを打つことになる。
とても面倒というわけでも無いけど、コーディング時に気をつけれるところなので気をつける。
タブはスペース4にする
タブでもいいんじゃない?と思う人がいると思うけど、環境によってタブがスペースに変えられたり、タブ1がスペース8で表示されることがある。
そうすると、とても読みづらい。
かなり読みづらい。
gitのcommit時に無駄なdiffが発生したりもする。
スペース2にすると、インデントでの区切りが分かりづらく、どこからどこまでがforのブロックなのかなど分かりづらい。
個人的にはスペース4が良いと考えています。
同じ行にコメントを書く場合
int val = 1; // hoge
スペース2つ開けて//
を入れる。
そのあとにスペース1つ入れて、コメント本文を書く。
これはpythonのコメント方法を参考にしました。
省略名を使う場合は必ずコメントを入れる
int mkdir = "mkdir"; // make directory /** name converter. nをXXに変換する * @param nm * n: name. 名前 */ public void nmConv(String n) { // }
省略しなければならない場合は無いと思いますが、省略する場合は必ずコメントを入れる。
後で見たときや、別の人が読んだときに必ずわからなくなるから。
どのように利用するフィールドなのかコメントする
例えば↓のようなModelクラスでid
とnumber
というフィールドがあるとします。
class SampleModel() { private String id; private String number; }
このクラスだけではidとnumberがどのように使われるのかわかりません。
つまり、このクラスを使用してgetId()
と書くのか、getNumber()
と書くのかわからないのです。
ですが、それぞれにコメントがついていれば判断ができるというわけです。
youtubeのパルクールオススメ動画まとめ
パルクールについて簡単に
パルクールについてはこちらのページを参考にするとよいと思います。
詳しく書かれているので分かりやすいかと思います。
パルクールとは | 日本パルクール協会 | Japan Parkour Association
簡単にまとめると、↓です。
- パルクールとは、走る・跳ぶ・登るといった移動に重点を置く動作を通じて、心身を鍛えるスポーツ
- 機能性、体力、バランス、空間認識力、敏捷性、コーディネーション能力、正確さ、コントロール、創造的視点などを鍛える
- パルクールの実践を続けていくことで、実践者はどのような環境においても自由に、かつ機能的に動くことのできる心身を得る
YouTubeで公開されているパルクールの動画をまとめました。
この小説はパルクールを題材にしている小説で個人的にオススメの小説でもあります。
小説家になろう掲載中の恋愛系web小説まとめ
小説家になろうで掲載されている小説のうち、私が読んだ恋愛系(異世界、現実)の小説をまとめています。
また、楽天Booksで発売されているもののみ、リンクを載せています。
タイトルのリンク(楽天のものではないです)をクリックすると、小説家になろうに飛びます。
恋愛系
婚約破棄から始まる悪役令嬢の監獄スローライフ【Web版】
これまでにない設定の小説です。令嬢が自分から牢に入ります。意味が分かりません。
令嬢に振り回される周りと、その際の掛け合いが面白いです。
毒舌少女のために帰宅部辞めました
一気に読んでしまいました。話のテンポが良かったり、主人公の冗談がちょい笑えたり、ヒロインが主人公とかかわるうちにどんどんと変わっていき、最後はとても感動しました。
文句なしにオススメの小説です。
夢見る男子は現実主義者
設定に共感できた作品です。台詞が少し多めで頭で考えて読む作品ではありませんでした。前半はオススメ、後半はイマイチ。
公爵令嬢の嗜み
コミカライズされている人気の小説です。
婚約破棄から幽閉コースの運命だったのですが、あがいた結果領主となります。
恋愛要素は少ないです。文がしっかりとしていてとても読みやすいです。私が一番印象に残っているのは協会との戦いの場面です。一番盛り上がったのではないでしょうか。
楽天のリンクはコミックのリンクを載せます。
↑から無料漫画へジャンプできます。
駄目人間にされていた件と言うからには付き合う、からの結婚まで行くのかな?と予想してますが、どうなることやら。天使様と駄目人間(将来的に)の気持ちの変化が良い小説だと思います。
ある朝ツン過ぎる妹が隣で寝ていて急にデレ始めたので、幼馴染と後輩に相談したら修羅場になったんだけど!?~こんなハーレム嬉しくない!~
初めは長文タイトルなので避けていました。なぞのドリンクを飲むと女のこの性格が変わる!っていう設定が面白いです。性格が変わる前と、変わった後の対比が良い。主人公が逃げ回る系なのでイライラする人もいるかも。
お隣さんと始める節約生活。電気代のために一緒の部屋で過ごしませんか?
節約生活から始まる恋愛です。かかわりが増えて、距離が近づいていきます。鈍感系主人公と言うのでしょうか。異性として意識させたいヒロインvs異性として意識しつつも友達として信頼してくれている(と勘違いしている)主人公の駆け引きです。
空き巣犯のポンコツ巨乳お姉さんが口封じをしてくるせいで俺の貞操と命が危ないんだが
謎の空き巣お姉さんと、引きこもり少年の小説です。恋愛につながるのかは判断できません。面白いなと思ったのは初めの数話でした。ポンコツお姉さん可愛いです。
嘘の嫌いな女と嘘のつけない男
嘘を見抜くヒロインと、嘘をつけない主人公の恋愛小説です。それぞれに理由があります。ネガティブな心情が一人称で語られているので気分が少し落ち込む小説だと思います。個人的には苦手な部類です。
カメラの外で動いたら。
設定が面白いなと思って読み始めた小説です。
ギャルゲーの主人公をさりげなく助ける脇役ポジションの彼が、脇役を辞めたらどうなるのか。読み進めて行くと主人公ポジションのクズさが出てきます。なぜヒロインは主人公ポジションに恋をしているのかが分かってきて、それに対して脇役ポジションがどのように動くか予想しつつ読むと面白いと思います。
断食系男子、悟りを開く
キスもそれ以上も一切なしで交際している主人公が、寺で修行して悟りを開く話です。正直笑えました。
ここまでやるかって感じです。結跏趺坐する彼氏って女性的にはどうなんでしょうか?
「息吹をね……感じてたんだ」とか言い出す主人公になります。
優等生の幼なじみは私を狙う異常者でした。(R15版)
ドシリアスな作品で、苦手な人は多いと思います。個人的には好きな小説です。
似ている設定で言うと、悪の教典が近いと思います。優等生の仮面を外した主人公を拒絶するヒロインですが、主人公のことを理解していくうちにヒロインの気持ちに変化が起きてきます。
引き込まれる小説でした。
友人キャラの俺がモテまくるわけないだろ?
学校中の(一部除く)生徒に避けられている主人公がメインの小説です。
ヒロインごとに何かしらの問題を抱えていて、主人公がそれを解決していくことで恋愛に発展していきます。
第一章と第三章が面白いと思いました。イケメンの妹が抱えている問題に共感できたし、クール系泥酔ポンコツ先生が可愛いし。
偽の恋人だったクラスの美少女たちが、本当に俺のことを好きになっていた件
32話で読むのを止めてしまいました。
台詞が多めですらすら読めるのですが、心理描写が少ないので共感しづらいかったのかと思います。
そして僕は聖女を裏切った
寝取り系が嫌いな方は読まないほうが良いかと思いました。
勇者がもっともらしい理由をつけて聖女を主人公から奪った形に見えてしまいました。でも、聖女が主人公に嫌な気持ちになって欲しくないと思うのも分かります。
キャラに対して胸糞でしたが、自分が同じ立場と想定して場合どうするか考えると良い選択が出てこないのです。一度読んで自分ならどうするか考えると面白い小説だと思います。
そして少女は悪女の体を手に入れる
36話で読むのを止めてしまいました。
地の文が主人公の感想になっているのが原因でした。
「ベットから起き上がるのにもひーひー言っていた私がジャンプ……あ、涙が。」とか入っているのでイマイチでした。
エリスの聖杯
一気に読める小説でオススメです。魅力的なキャラクターが多く、特にスカーレットとコニーのやり取りが面白いし、陰謀を解き明かしていく流れが良い。
文句なしで面白い小説だと思います。
落ちぶれ才女の幸福
個人的に好きな小説で、既に何度も読んでいる小説です。
読み始めると一気に読んでしまうと思います。
うまく感想がかけないのがもどかしいですが、読んで損はないと思います。
ただの『セリア』を受け入れてくれる――それだけで、私は幸せなの」という台詞がグッときました。
妹フレグランス
タイトルから想像できないダークラブコメでした。今は更新が止まっています。
主人公の事が好きな妹と、主人公の事が好きな3人のヒロインの話です。
現在は3人のうち2人の話が終わっています。
オススメの小説です。妹vsヒロイン
「お前たちのそれは本気とは言わないんだよ」という台詞が刺さります。妨害を受けてあきらめる、引く程度なら本気ではないということでしょうか。
栞編まで読むと妹の考えが分かってきます。
ヤンデレの執着(ソレ)は果たして愛なのか?
男性側が病んでる小説です。
主人公が割りと酷い扱いを受けているのですが、それでもなぜかクスッと笑えてしまう小説でした。オススメです。
乙女ゲームの破滅フラグしかない悪役令嬢に転生してしまった…
主人公のやることなすことがことごとく裏目にでる話です。
破滅エンドを回避しようとして、なぜか好感を持たれて、、、という流れですね。
斜め上な努力が可愛く、シリアス成分が無いのでとても読みやすいです。
コミックスですが、楽天のリンクを載せます。
転生不幸~異世界孤児は成り上がる~
孤児から始まって、徐々に成り上がる話です。成り上がるといっても王妃になるとかではないです。
きれいにまとめられているので読みやすい小説だと思います。
オススメです。
textarea内でtabを使えるようにするためのまとめ
textareaでtabを使えるようにするために参考にしたサイト
Qiitaの記事なのですが、うまく動かなかったと思います。
https://qiita.com/laineus/items/12a220d2ab086931232d
tabを押すと、文字の前にTAB_STRが挿入されます。
自分が望んでいたのは、tabを押すと、tabが挿入されるものです。
demo画面を参考にして、少し書き直してみました。
もう少しきれいに書ける気がしますが、時間と気力が続かなくてかけませんでした。
let textareaTab = {}; (function() { textareaTab.setEvent = function() { console.log("set textarea tab event."); var textareas = document.querySelectorAll('textarea'); for (var ti = 0; ti < textareas.length; ti++) { textareas[ti].addEventListener('keydown', function(e) { if (e.keyCode === 9) { e.preventDefault(); var isShift = e.shiftKey; var elm = e.target; var txt = elm.value; var slct = { left: elm.selectionStart, right: elm.selectionEnd, }; if (slct.left == slct.right && !isShift) { elm.value = txt.substr(0, slct.left) + '\t' + txt.substr(slct.left, txt.length); slct.left++; slct.right++; } else { var lineStart = txt.substr(0, slct.left).split('\n').length - 1; var lineEnd = txt.substr(0, slct.right).split('\n').length - 1; var lines = txt.split('\n'); for (var i = lineStart; i <= lineEnd; i++) { if (!isShift) { lines[i] = '\t' + lines[i]; if (i == lineStart) { slct.left++; } slct.right++; } else if (lines[i].substr(0, 1) == '\t') { lines[i] = lines[i].substr(1); if(i == lineStart) { slct.left--; } slct.right--; } } elm.value = lines.join('\n'); } elm.setSelectionRange(slct.left, slct.right); return false; } }) } } })(); export default textareaTab;
exportしているので、別のjsからimportできます。
↓のように使います。
import textareaTab from './textarea_tab.js';
なぜ8日をようかというのか疑問に思って調べてみた。
なぜ8日をようかと読むのか
yahoo知恵袋からです。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1239742622
八を「や」、日を「か」と読んで「やか」となったのが、時が経つにつれて「やうか」に変化し、それが現在では「ようか」と読まれるようになりました。 蛇足かもしれませんが…八を「はち」と読むのは音読みで、「や」と読むのは訓読みです。かつ日を「にち」と読むのは音読みで、「か」と読むのは訓読みです。「ようか(やか)」は「八日」を単に訓読みで読んだだけと言えます。
goo辞書 https://dictionary.goo.ne.jp/jn/226193/meaning/m0u/
《「やか」の音変化》
どうやら、「やか」からの変化で良いみたいです。
「やか」から「ようか」に変化するとか、ほんとに?って疑いたくなってしまいますね。
真ん中の「う」がなんで入るかわからないですもん。
おなじように「7日」を「なのか」の「の」がなぜ入っているのかとか。
これはあれですかね。言いやすいからでしょうか?(これについては全く調べてないです)
日本語は不思議ですね。
左側に表示するナビゲーションメニューについて調べたときに参考にしたサイト
ナビゲーションのメニューがまとまっているサイトです。
こういったサイトはよく見ます。とても助かりますね。
この中で使えそうだなと思ったものを紹介したいと思います。
まずはこれです。
https://codepen.io/MrsColombo/pen/mEeQwy
- htmlがきれいで、templateの構文を使ってforでリストを生成できそうだと思った
- cssで書かれているので、scssに直しやすい
- jsが複雑じゃない
もちろん、少し修正は必要ですが、少ない工数できれいなメニューを作れそうです。 (左側に固定するメニューではないようで残念です…)
明るいサイトに合いそうです。
どんどん紹介します。
これですが、見た目はよいですが、少し片手落ちだと思いました。
https://codepen.io/maggiben/pen/rCIFu
クリックした際に、右側の矢印がアニメーションされない。つまり、なんであるのかわからないです。
このくらいならcssを追加して対応できそうです。
リストがabsolute指定されているので、要件によっては少し修正が必要かもしれません。
fixedではないということは、スクロール時に残らないということです。
スクロールするとリストが途切れているように見えてしまいます。
参考にする場合はcssの変更が必要そうですね。
いいかな?と思いましたがコードを見たら大変そうだったやつです。
https://codepen.io/andytran/pen/rsegt
haml(htmlではない)で書かれているので、htmlに直したほうが良いでしょう。 hamlで書きたい場合はそのままで無問題
ほとんどclassやidを使っていないので、独自定義するスタイルに影響しそうです。 (reset.scssとか、cssフレームワークとか)
↓のように、タグにスタイルを入れているので、ページ内でリストを使っている場合は影響しそうです。 (許容範囲内かな?)
nav ul li a { display: block; padding: 10px 15px; color: #fff; text-decoration: none; transition: 0.2s linear; border-left: 2px solid transparent; } nav ul li a:hover { background: #fff; padding-left: 20px; border-left: 2px solid #1abc9c; color: #1abc9c; }
右側の矢印がアニメーションしてません。これは修正ですね。
参考文献という英単語を調べたときに使ったサイト
結論から
参考文献 = 「Works Cited」 or 「reference」 or 「bibliography」
英単語を調べるのに、以下のサイトが役に立ちました。 https://eikaiwa.dmm.com/uknow/questions/19454/
といってもDMM英会話なんですけど。
読んだ時期によって解答が消えてたりするかもしれないので、引用をのせますね。
大学のレポートの最後に付ける、レポート内で使った資料のリストのことを、Works Citedと言います。worksは、もちろん仕事だったり研究だったりを示しますので、それが「文献」となります。一方「参考」というのは「(自分が)参考にした」つまり「(文献が)参考にされた」という、分詞形容詞-edを使ってcitedとなり、worksの後ろに付けます。MLAスタイルでも、APAスタイルでも、全てレポートの最後にはworks citedを付けてくださいね。
この解答が一番役にたったのですが、もちろんこの解答が正しいのかどうかも調べてます。
まずは、citedが「引用」「参考」という意味で使われるのかどうか。
これは英辞郎on webで調べました。 https://eow.alc.co.jp/search?q=%22cite%22&ref=hk
ついでにweblioでも調べてます。 https://ejje.weblio.jp/content/cite
ここまでで、どうやら「citeという単語が参考という意味で使われる」というのが解答が正しそうというのがわかりました。
次に、「レポートの最後でworks cited」と使うのかどうかを調べました。
参考文献がどんな使われ方をするのかは、調べなくてもよかったのですが、解答を読んで気になったので調べてみました。
まず↓のサイトでは「works」や「cite」という単語で検索しても出てきませんでした。
http://user.keio.ac.jp/~kiyota/kozo/Courses/References.html
Weblio英語勉強コラムのページです。 http://english-columns.weblio.jp/?p=5632
MLA(Modern Language Association style)は使用頻度が特に多い文献スタイルで、文学や言語の分野での使用が多くみられます。参考書目としての表記は「Works Cited」です。
ヒットしましたね。
ですが、そのすぐ下に↓のような文がありました。
APA(American Psychological Association)はMLAと比べ一般的に読みやすく表記されたスタイルで、社会科学やビジネスの分野での使用が多く見られます。参考書目としての表記は「Reference」です。
どうやら、referenceという単語もあるみたいです。
さらに、MLAフォーマット、APAフォーマットのように、どのように参考文献を書くかによって単語が変わるようです。
すごく面倒です。統一してほしいですよ…
ここまででやめても良かったのですが、ついでに英語サイトを調べてみました。
「works cited reference」で調べたときに出たサイトです。
http://www.citethisforme.com/blog/2017/06/27/69196
どうやら、「works cited」「reference」の他に「Bibliography」という単語もあるようです。
英語は読めないので、google翻訳の訳ですが、大方このような感じでした。
「bibliographyは、論文を書く際に参考にしたものだけではなく、準備段階で参考にしたものも含める」
のだそうです。
結局、参考文献という単語は「works cited」か「reference」を使うと良いと思います。
「bibliography」の場合はもっと準備段階も含めたい場合に使うと良いと思います。