唐突ですが、学習開始から[36日]経過
本日の学習内容
1.コードの可読性
2.リファクタリング
3.正規表現
4.その他諸々
ってな感じで学習を行いました!
1.コードの可読性
こちらに関しては、いかに見やすいコードを記述するかということで
整列 一貫性 ブロック化 のような視覚的な見易さ
変数の名称の付け方 コメントによる記述背景に記載 のような読み手への配慮
上記による可読性の向上について学習しました。
これに関しては、もっと場数を踏むことやつい先日購入した「リーダブルコード」
という書籍を読んで理解を深めていきたいです。
2.リファクタリング
一言で言うと、
処理の内容を変えずに冗長なコードを削除したり、コード改善すること
なのですが、これがまた理解が難しい内容になっていて
要素としては
制御フローを考える(単純な条件を先に書くとか、ネストを浅くするとか)
式や機能の分割(見るという機能を実装したいのに選ぶ+見るというような一緒くたにするようなことはよくない的な事)
できるだけ短く記述する事
を意識してコードを見直すことが重要なので記述を意識しながら学習を進めます!
3.正規表現
堅苦しい表現ですが、
文字列に特定の文字が含まれているかを確認する
特定の文字を排除や抽出などの操作を行う
これらの技術を正規表現というみたいです。
どんなメソッドがあるかというと
sub(/と/間の文字を”と”の間の文字に置き換える)
str = "Hello,World!" => "Hello,World!" str.sub(/Hello/,"Oh") => "Oh,World!"
match(/と/間のを”と引数がレ芝の文字列に含まれているかを出力)
str.match(/Hello/) => #<MatchData "Hello"> ↑マッチしたデータはこのようにMatchDateオブジェクトとして返される str.match(/Oh/) => nil
str[0]
=> "H"
md = str.match(/Hello/)
md[0]
=> "Hello"
gsub(指定した文字を複数置換する)
name = "苗字: 漂う,名前: おじさん"
name = name.gsub(/苗字: /,'') => "漂う,名前:おじさん"
name = name.gsub(/,名前: /,'')
=> "漂うおじさん"
split(特定の区切りによる文字を配列として分割)
person = "men,japan,hobby"
person.split(/[,]/)[1]
=> "japan"
上記はほんの一部で正規表現のメソッドはいっぱいあるので都度更新必須!
4.その他諸々
上記のように様々なメソッドがあるわけですが、これを全て覚えようものなら大変。
というかきりがありません。。
なので検索する力が必須というわけで必要な時に必要なものを検索できる能力を
養う必要があり、検索一つとってもマイナスやフレーズを利用して不要な情報を
避けつつ、なる早で情報を収集できるようにもなっていかなきゃなと感じました。
そんなわけで長々と書きましたがこんな感じでアウトプットしていきたいと思います。
ここまでお読み下さりありがとうございます。