【備忘録】読む・書く際に気をつけていること

下記はnoteにあげようかなと思って書いたけど、やっぱりちょっと怖くなってブログに移そうと思って移した記事です。


ーーー


私は社会人になってからIT業界に就職した。

元々は医療系で、物理に至っては物理学1の波くらいで終わっている。数学は好きだがテストの成績は微妙、ただし法則性を見出すことが好きだった。作ることがすきで、調べることがすきだ。そんな人間だ。

そんな私なので、就職してまず覚えようとしたことは法則/ルールだ。


JavascriptとかPythonとか、まあ少しは聞いたことのある単語があるだろう。ああいうものは言語と呼ばれる。言語なので、日本語や英語と同じように法則……規則が存在する。この、今まさにこの記事を書いている日本語のように、書く人によって自由に記述でき、かつ、読む人も読みやすいものが高度の言語とされている。逆に0とか1とか機械が処理するようなものは低度の言語になる。 少し説明してしまった。 要するに、どの言語にもルールが存在する。 そして書く人・読む人がそのルールを知っているから、言語は意味を為す。 機械が動くのだって、つまりはそういうことだ。 よって、少なくともそのルールさえ守っていれば、他のエンジニアにも読んでもらえる……と考えておけばいいと思う。最初のうちは。 いくら小難しい漢字や表現で短くしたって、意味を推測させられなければ、何が起こっているのかは伝えられないのだ。平易だが、ひらがなばかりの文章ではない方が、読みやすいのだ。(少なくとも私はそう思っている) 本題に移ろう。コードを書く時・読むときに気をつけていることはなにか。 私はこれら一切を先輩と崇める先人たちから学び、自分のものとして獲得しただけなので、もしかすると間違っていることもあるかもしれない。そのあたりは、好きに取捨選択してもらいたい。 現段階での記録だ。備忘録だ。 ◆◆コードを書くとき 1)書く時は、「何をするものか」を明らかにしよう。 →コードを書くとき、プログラマは道具と関数(どういった働きをしてもらうのかを記述した箱)を用意する。大抵は。 その時、関数名、すなわち箱の名前がBlackBox1, BlackBox2とかだとわかりにくい。GoingMyway, GoingYourwayとかの方がまだ、少なくともMywayとYourwayに行くんだなと言うことがわかるので、まだマシだ。(この例があまりにひどいことは放っておいてほしい) →最初に何をするのか、ということが名前を見るだけでわかる。それが本当に大事だ。「この処理をすることで、どういった答えが戻ってくるのか」までわかるとベストだ。 2)読む人が行ったり来たりしないで済むように意識しよう。 視覚的にも、文脈的にも。 →いきなりなんだそれ?と思われるかもしれないが、ノートを取るときのことを思い出してほしい。授業のノートを取った後、きっとあなたは読み返すだろうが、そのときの文字がみみずばかりの読めない文字だったとき、勉強のやる気はすぐなくなってしまわないか?そういうことをいいたい。 →読み返すのは明日・明後日の自分であり、未来の知らない誰かだ。未来に「いやなんだよこれ……俺が書いたコードだわ」ってなる回数が減るように、ついでに「これが何したいのか、すぐわかったわ」と他の人から言われる回数が増えるように、とにかく視覚的にも文脈的にも読みやすいものを意識しよう。 →リンゴが3個、オレンジが2個あります、と書いてあったら足し算するのか引き算するのかなにかするのかな?と思わないか?ここにいきなりブドウの話をされたら、「あれ、リンゴどこいった?」ってならないか?それを減らしていけるといいよね、という話だ。 ◆◆コードを読むとき 1)はじまりはどこかを意識しよう。 要はマッピングをしよう。自分のいる位置はどこか、そこからどこに向かうのか。 →「新しいものを作る」ことも多いが、「今まであったものをよりよくする」ことの方が多いこともある。そのとき、該当箇所から前後を辿らなくてはならないことがある。これはまじで途方もない場合もあるので、とにかく自分が知りたい「A」はいつどのタイミングで処理されるのか、処理されるとき、どういったデータを受け取っているのか、といったことを忘れないようにしておこう。 →時と場合によっては探索する場所があまりに膨大すぎて、意外と迷子になるので気をつけよう。 2)どういった文脈で行われる処理か、確認しよう。 →たとえばバケツに水を溜める処理を考えるとしよう。蛇口をひねる処理が行われてから、水が流れ始め、バケツが水一杯になったときに蛇口をひねり直さねばならない。 このとき、蛇口をひねるという処理は、「バケツが空の時」なのか「バケツが水でいっぱいの時」なのかで、意味合いが変わってくる。 なぜ突然こんなことを書き始めたのかというと、コーディングも文章を書く行為も、大して変わらんよな、と思ったからです。 他人のふり見て我が振り直せ、とはよく言ったもので。 未来の誰かに「読みにくい」と言われないように、せめて配慮することは忘れず、言語を扱いたいものです。 ところでwixのブログ、書きにくいなとうっすら思いました。


タグから検索
ソーシャルメディア
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square