読者です 読者をやめる 読者になる 読者になる

良いあそなすちゃん

良い方のあそなすちゃんです!

できないことができるまで。

あそなすです!
最近は変にコードを書く時間と書かないを分けているせいで身の振り方がわからなくてフガフガしてます!

さて、突然ですが、僕がコード(プログラム)を書き始めたのは今から丁度3年ぐらい前です。
どれぐらいの初プログラムかというと、全部で300行ぐらいのPHPのコードです!やばい大規模!!
そのコードでなにをやっていたかというと、ミクシィのOpenSocialAPIを使ったWebサービスを動かしていました。
やっていることは簡単で、

  • ユーザの登録
  • ユーザから投稿されたテキストをDBに保存
  • それらをアクティビティとして本体のアプリケーション(Flash)のTimeLineに表示する
  • 定期的にユーザの情報を引っ張ってきてアイコンの画像やHNを更新する(今考えてもよくわからない)

というものでした。
ちなみに、実装がアレすぎたためにミクシィのAPI移行についていけなくて去年サービスを閉じました。かなしいですね!

おそらくまじめにコードを書き始めたのがそのころだし、初めてレンタルサーバーを借りてcronとかApacheとかPHPの設定を覚えた良いきっかけだったなと。


さてさて。
ついこの間、自分のリポジトリやサーバーを見ていたら、その該当のコードが出てきました。
恥ずかしい変数名や、DRYじゃない実装だったりまぁ今見返すだけでも死にたくなる感じです。ちなみに、生のPHPです。許して!FWとか知らんかったんや!!

そんなコードですが、ふと、今の僕が同じアプリケーションをつくるとしたら50行ぐらいで、しかもRailsアプリで書いてしまいそうだなーと、思いました。
実際にはFlashを使っているので、ややっこしいところもあるけどコアな機能をだけならば50行ぐらいかなぁと。
うまくいけばFlashを使わないで実装できそうな感じもあってViewを含めても100行ちょっとな予感がしました。


このとき新鮮だったのは、自分が過去に書いたコードを読み返して、良くないところを見つけ出して、それらを改善する方法をひらめいたことです。
自分が今までに勉強してきたこと。特にこの1年で学んできたことは壮大だと思う。Rubyのことをなにも知らないくせに行ったRuby会議2011(今思い出したけど、一緒に居た連れの女の子は角谷さんと超フレンドリーになってた)から始まってサービスのコードを書いて運用を初めて、高専カンファにも参加して、いろんなコミュニティのイベントに参加したし、本もアジャイルサムライを始めリーダブルコード、レガシーコード改善ガイド、継続的デリバリー、BeingGeek、CODEなどの本も読んだ。
そういう成果もあって、3年前に書いたコードを自然にリファクタリングできるようになったんじゃないかなと思う。

思っただけだし、あまりにもすんなりと思考をやらかしたためにそこまで感動もなかった。
ちょっとしたことだけど、どこかに記録に残しておこうと思った次第


それから、できなかったことを今悔やむのはいいけど、悔やんだ結果コードを書くことをやめてほしくないなぁとおもいます。
コードを書いてなにかが動いたという感動は誰しもが感じるものだし、何か書いて動いたという感動を得たら、一度キーボードをおいて、コードを書く術を学ぶのも大事だと思う。多分最初の一歩として「リーダブルコード」が挙げられると思う。自分のコードをよく見返すようになる。適当に書き捨てなくなる、書き捨てなくなるとコードを管理したくなってGitを使い始めて、そしていつかGithubにあげるようになる。まずはそこからじゃないかなぁ。

最後に
いい仲間と出会えるのはとても大事なことだと思う。
いつぞやに「魂があっている」みたいなことを書いたけど、自分が「良い!」と思ったことに便乗してくれる人はなかなかいないと思うし、そういう人を見つけたら一生離さないようにしよう。定期的に一緒にものをつくったりしよう。