プログラマーを10年経験して感じること
様々な企業やプロジェクト、長年プログラマーをしていると感じているのですが
プログラムの書き方は状況によって書き換えないといけないと感じています。
きれいなコードこそ全て
みたいな人もおられるのですが、個人的には
(状況によるのでは…?)
と感じてしまうことがあります。
スピードが大事な場合
個人開発や小規模のオリジナル開発ではこちらに属していると感じています。
売れる保証もないので一旦出してユーザーの反応をみたり、バズワードなんかでゲームの認知を上げたり、大手ができないスピード感のある戦い方をするのはこちらですよね。
ただスピードを重視すると、当然精度も下がってきてしまいます
しかし、開発スピードが早いとタイミングを逃さずにバズりやすくなるでしょうし、そして個人開発者で成功されている方は圧倒的にこっちが多いように感じています。
きれいなコード(安定)が求められる場合
数百人規模のプロジェクトで開発していると、一人のバグがみんなの作業を止めてしまうことがあります。
例えば100人のプロジェクトで「タイトル画面に入ったらフリーズした」とあれば、1時間で修正したとしても100人の1時間を奪うことになります。
時給1000円でも10万円の損失。1日(8時間)かかれば80万か…恐ろしい
そう考えると必然的にマメなチェックやキレイで安定度の高いコーディングをする必要があります。
当然チームにプログラマーが増えると汚いコードだと、読めない人が増えるのも大きな問題になってきたりもします。
甲乙つけがたい
結論から言うと「どちらも悪いとも言えない」のが本音です。
当然「きれいなコードは最高」ですが
今後更新するかもわからない、アプリやソフトのために最初から時間がかけてしまうのも勿体ないと感じます。
なので試作品や最初のリリース時は使い捨てのコードを書いても良いのではないかと感じています。
完成後のリファクタリング(コード整理)や再コーディングは格段に楽なのでそれでも良さそう。
出来るけど肩の力を抜くということ
プログラマーを仕事としてやっていきたいという方できれいなコードを「書けない」と「書かない」では大きな違いがありますよね。
例を出すと、ピカソも元々はリアルで写実的な絵も「描ける」のと同じで出来る人が形を崩すのと、出来ない人が形を崩すのでは意味が違ってきます
誰でもピカソの絵って描ける気がしますもんね…
なので元々「書ける」人は肩の力を抜いて開発するほうが良いと思いますし、自信がない方でコーディングスキルを高めたいのであれば「きれいに書くべき」かもしれません。
ただアプリなどを完成&マネタイズ(お金を稼ぐこと)を重視されているのであれば「動けばOK」でも全然OKだと思います。
長くなってしまいましたが具体的な結論は「状況による」と言えそうです。
目的に合わせたコーディングが大事なんですね
普通のアプリを作った感想
一般のアプリを作る機会がなかったので
作ってみましたがゲーム開発の負担よりかなり少ない印象です。
簡単に言えばゲーム開発のUI部分だけで完結しちゃうので面白さを考えなくて良いですし、ゲームアプリと比べるとかなり楽です。
もちろん開発の内容によっては大変なアプリがあると思うのですが、ゲーム開発って最も要素が多い部類でしょうし、かなり過酷な山を登っていたんだなぁという印象もあります。
ただ過酷な山でも登りたいと思わせる魅力が、ゲーム開発にはあるんだろうなぁ…
次に作りたいアプリが見つかった
このTODOアプリを力技で完成させたのには理由があったりします。
次は「こんなの作りたい!」というのが見つかったからです…!
自分が使いたいだけのアプリなのでもし必要と思ってくださる方がいれば公開したいなぁと考えていたりします。
最後に
いかがだったでしょうか?
今回「捨てるTODO」を開発した流れや感じたことを紹介してみました。
期限を決めて開発することは自分の経験としてもかなり有益な気がしています。
今後はできるだけ期限を決めようと思います!
では今回お伝えした内容が読んでくださった方々の参考になれば幸いです。
長くなりましたが今回はここでおしまいです。
ここまでお読みいただきありがとうございました。
コメント