プログラミングとお友達になれない私の考え方のプロセス
今回、ぱくたそさんにとてもいい感じの写真があったので使わせていただきました。
いつまでも素人・コピペでなんとかする私が、プログラミングとお友達になれない理由(いいわけ?)を、ぱぱっと実装してしまうすごいエンジニアのみなさまにお伝えしたく書かせていただきました。
久しぶりに実装の仕事をした
HTMLコーダーからデザイナーにジョブチェンジしたので、実装はすっかりやっていなかったのですが、やってみてえらいことになりました。
やったことは「ブログからRSSフィードを取得して、Webサイトに更新記事一覧を表示させること」です。以前にもやってことがあるし、そんなに難しいことではないはずだったのですが、ブログのRSSフィードが1.0だったために沼にハマってしまいました。
いきなりゴールから入る
今回やったこと(最終的にたどり着いたところ)はざっくりいうとこれです。やや言い方が間違えているかもしれません。
実際の実装方法となるとこのやらなければいけないリストを最初に作ります。下記の記事もあわせてご覧ください。
しかし、プログラムとお友達になれない私は、ゴールから入ってしまう のです。そもそも、やらなければならないリストが作れません。
そういう場合は、プラグインやライブラリなどのちからをまず頼りますよね。私もGoogle Feed APIを使っていましたし、まずこれの代替となるものを探し始めていました。
コピペにコピペを重ねる
プラグインが見つからなければ「Webで検索してコピペ」をやります。これだったらわからなくても解決できます。
しかし、コピペでやってもできない。
そうするとコピペでなぜできないか?を考え始めます。そして問題が見つかり、次の解決策をコピペで解決しようとし始めます。
問題:どうやっても表示されない
↓
解決法:JSONに変換して使えという記事がある
↓↑
問題:やってみたけど日付が取得できない
↓↑
(略)
↓↑
問題:全件表示はできたが5件だけ表示させたい
↓↑
(略)
↓
できたー!
この行ったり来たり感おわかりでしょうか。
この行ったり来たりをいちいちググり、コピペでなんとかしようとし、問題が細かくなってきてようやくPHPのリファレンスが出てくるのです。
やらなければいけないリストの流れに沿って実装していくのが定石(だと思うの)ですが、リストの細かい項目ができて、それをどこに追加するのかいちいち調べて追加していく感じです。
<<何たる非効率、というかグチャグチャやん>>
おまけに、調べたブログの質の善し悪しは判断できてません。
時間をちゃんと計ろう・相談できるなら相談しよう
プログラミングで「動いたー!」「解決したー!」の気持ちよさは半端ないです。
そのせいでといいますか、これは私の性格が問題なのかもしれませんが、問題の解決にのめり込みすぎて時間を忘れます。
これをやってむちゃくちゃ時間がかかりました。
趣味だったらまだ良いのですが、これは仕事です。時間がかかりそうだと思ったら、相談する人がいる場合は、相談しなければいけないところです。
今回はひとりだったので、白旗を上げてしまうところでした。
むちゃくちゃ時間かかる!とわかった時点でお客様に相談すべきなのか、いやいやこれ私のスキル不足の問題やから見積もりから時間かかっても解決せなあかんのんと違うのん?とか。悩ましいです。
いつまでも素人コピペプログラミング
プロとしてあるまじき事かもしれませんが、この、素人コピペプログラミングをやってしまう人は、私だけではないはずです。
この迷ったり行ったり来たりするプロセスを経験されたことがお有りなのではないでしょうか。
そしてエンジニアさんにとっては、なんちゅーやつだとお思いでしょう。このなんちゅーやつたるゆえん、 考え方のプロセス が伝わると幸いです。
記事を書いてみて、これやからいつまでもプログラミングとお友達になられへんねん。と思いました。