おふとんの中から

その辺に転がってるエンジニアの備忘録

リーダブルコードを読みました

ゆいなです。
リーダブルコードを読了したので、感想でも書こうかと。

そもそもリーダブルコードって?

ブログで情報収集をするエンジニアなら知らない人も多分いないであろうこの本。

リーダブルコード
――より良いコードを書くためのシンプルで実践的なテクニック

前職のSIer時代も技術書は読んでいましたが、業務色が強い本しか読んでいなかったので…
がっつりソースが書いてある本は専門学生時代ぶり。

書いてあるソースコードも書き方知らない言語がメインだけれど、基本的な関数とかは変わらないのですんなり読めました。

そんなこと書いてないで早く感想書けよ

すいません書きます(

読了してまず思ったことは、

自分が書いてるソースコードズタボロやんけ…

というギリギリ致命傷は避けつつ重傷を受けた感じ。

例えば…

  • コードは理解しやすくなければならない
    →次の日にコードを見たら自分で何やりたいか分からないコード書いてしまっている…

  • コメントの目的は、書き手の意図を読み手に知らせること
    →ごめんなさい全くコメント書かない人です…

  • 変数にはわかりやすい名前をつける
    →tmp乱用犯ですごめんなさいorz

自分でもこれまでのコードが酷すぎると流石に反省している…

言い訳をすると、(そもそも言い訳するなって話だけど)
転職してやっとコードをガリガリ書くことができるようになって勢いに任せて書いてしまってました。
所謂プログラミング初心者がやってしまう所業…

自覚している酷さなので、まずはできるところから改善していきたい。

とりあえずの目標をブログで宣言しておこうかと思います。

クソコード生産者からの脱却

この本を読んでいる中で、自分のコードを読みやすいコードにするために
効果的だと感じた内容をクソコード生産者脱却のための目標として掲げます。

・名前を見て分かる変数名・関数名をつける

これまで関数名では意識してきましたが、変数名ではあまり意識して書いてきませんでした。
これからは変数も意識していかないといけないなと改めて。

・単純なロジックを組む

私は複雑なロジックを組みがちだったりします。
これまでもソースを書いた後にちまちま書き換えて修正していましたが、それでも最終的には他の人にわかりづらいソースが出来上がっている…
考えながらコードを書いているとどうやらダメな人のようです。
まずはロジックをソースに書かずに起こしてみて、それから組むようにした方がいいのではと考えてます。

最後に

これまでクソコードを量産してすまんかった

C#のConvertで初歩的な勘違いをしていた件

ゆいなです。
今までのブログをMarkdownで書いたことがなく、
やり方すら知らなかったのでブログを書きつつ覚えていこうかと…

ということで今回はタイトルの通り、仕事で頭を抱えた初歩的な間違いを書いていこうかと。


String.Convertメソッドの基数間違い

言語はC#

String型の変数に文字と16進数の数字の混成が入っており、数字の部分を10進数に変換した上、1増やす必要が。

String hoge = "N02BC";
Convert.toInt32(hoge.Substring(1), 10);

こんなのを書き、FormatExceptionが。
Convertの第2引数には変換する物をいれておけばよかったはずと頭を抱え…

とあるSlackに助けを求めて気づきました。

String hoge = "N02BC";
Convert.toInt32(hoge.Substring(1), 16);

第2引数って基数だから16進数だし16指定しなきゃいけないじゃないか…

というやらかしでしたw

ふと考えたら会社のPC環境神だった

ゆいなです。

 

今の会社のPC環境が良く考えたら神なので写真は載せられないけど晒してみようかなと。

 

①PC

Think Pad X1 carbon

win10機

 この会社に来て初めてwin10触りました…

そんなに7に慣れた身としてもそんなに違和感なく使っていますが、そんなに機能を生かせていないかも。

 

②モニター

iiyanaの21.5ディスプレイ

まあここはいたって普通な感じ。

 

③キーボード

Majestorch 2 Convertible

多分打ち心地的に茶軸かと。

初めてお高いメカニカルキーボードをメインで使ってみたら、めっちゃいい…

前の会社で使ってたサンワサプライの安いキーボードと比べちゃいけないレベル。

家用に欲しい…

 

④マウス

logicool M546 ワイヤレス

まさかの自宅マウスと同じ件(

自宅と同じスイッチレイアウトで使ってます。

 

こんな環境で仕事してると、自宅のノートパソコンが流石に辛くなってきたし買い替えたい欲が…

 

これから

ゆいなです。

転職して仕事にもぼちぼち慣れてきたので、これからどうしていこうかと考えていかないとと思いつつ何もできていない現状。

 

とりあえずやっていきたいことをずらずらと書いてみる。

 

SVNの使い方習得

スタンダードはgitに移行しているけれど、未だに会社はSVN

ログを見たり差分を見る程度でそれ以外の使い方は全くな現状。

将来的にはgitの扱い方を習得したいが、その前に今使っているツールの扱い方をマスターしようって感じ。

 

オブジェクト指向のあやふやから脱却する

なかなか難しい内容だと思います。

会社でC#を扱っていて、未だに若干Cのようにコーディングしてしまう…

まずは基礎が分からないといけないかなと。

コードを書きつつ思い出してきたけれど、まだ概要を人に説明できるまではいけてません…

 

C#の基本を理解する

基本の文法は問題なく書けるけれど、C#オブジェクト指向独特の内容については未だによく分からず…

主にラムダ式とか。

何をしているんだかさっぱり分からない…

.NET FrameworkごとのライブラリとかはMSDN見れば分かるし、そこまで勉強する必要はないかなと。

 

まずは仕事の延長線上からやっていくのがとっつきやすいかなと思っています。

C#まともに書けるようになれば、フォームアプリもiOSAndroidもいけるし←

お久しぶりです

ゆいなです。

 

暫くブログから離れていました。

最近環境が変わりましたので、近況でも。

 

今年の10月末でブログを始めた当初から勤めていた大手SIerを退職しました。

ニート万歳!

 

いや、11月から別の会社で働いていますよ?

車載ECU開発から業務系ソフトの開発の人になりました。

 

まだ入社してすぐですが、C#windowsのフォームアプリケーションをちまちま作ってます。

 

学生時代以来のオブジェクト指向言語ということで、若干思い出しつつ…

 

またぼちぼちブログを更新できるようにしていきたいですね。