この精神的なブロックをどのように克服し、アプリがスケーラブルになることを保証するための考えはありますか?
問題の核心はスケーラビリティではありません。問題の核心は、あなたが最初にそれを正しくすると思っていることです。
きれいなコードを書くことに集中する必要があります。クリーンなコードは、将来(必然的に)何かを変更する必要がある場合に利便性を最大化するためです。そして、それがあなたが持つべき本当の目標です。
あなたが今やろうとしているのは、書くのに最適なコードを考えようとすることです。しかし、たとえそれをなんとかして、要件は変わらないと言っているのか、間違った情報や誤解に基づいて決定を下したのでしょうか?
間違いではありませんが、間違いは避けられません。将来変更する必要のないコードを書くのではなく、後で簡単に変更できるコードの作成に焦点を当てます。
プロジェクトと私がすでに書いたコードに執着して成長し、
私はこの感情にまったく同情します。しかし、あなたが書いたコードにアタッチすることは問題です。
定数でなければならない唯一のものは、特定の問題を解決したいというあなたの願望です。その問題をどのように解決するかは、二次的な懸念にすぎません。
明日、コードベースを80%削減する新しいツールがリリースされた場合、コードが使用されなくなったことに怒ってしまうでしょうか。または、コードベースが小さくなり、よりクリーンで管理しやすくなったことに満足しますか?
前者の場合、問題があります。コードの解決策が表示されません。言い換えれば、あなたはコードに焦点を合わせており、より大きな画像(それが提供することを目指しているソリューション)を見ないことです。
私がコミットするすべての追加作業は、近い将来、ビジネスの成長に伴ってアプリがうまくスケールしないことが判明したときに覆されることを恐れています。
それは別の日の別の問題です。
まず、機能するものを構築します。次に、コードを改善して、まだ表示される可能性のある欠陥を修正します。現在あなたがしていることは、2番目のタスクを実行しなければならないという恐怖から最初のタスクを控えることです。
しかし、他にどのようなオプションがありますか?未来を伝えることはできません。将来の可能性を熟考するのに時間を費やすなら、とにかく推測することになります。推測は常に完全に間違っている傾向があります。
代わりに、アプリケーションをビルドし、実際に問題があることを証明します。そして、問題が明確になったら、その問題に対処し始めます。
別の言い方をすれば、ヘンリー・フォードは2018年の標準/期待に適合する車を製造したことはありません。しかし、もし彼が近代的な基準で欠陥のある車であるモデルTを製造していなかったら、誰も車を使い始めなかったでしょうし、自動車産業はなく、誰も改良しようとする車を持っていなかったでしょう。
インタビュー中にウェブフレームワークを使用しないという選択を雇用者に質問させましたが、それは私の以前の仕事をさらに疑わせただけです。
ここで重要なのは、どのフレームワークを使用しているかではありません(そのことを判断する雇用主は仕事を適切に行っていません)。ここで重要なことはあなたが何をしているのか、それをしている理由を知ることです。
たとえば、具体的に既存のフレームワークを回避する場合は、まずフレームワークをハードな方法で実行することでフレームワークが有用である理由を学習する必要があります。または、独自のフレームワークを作成しようとしている可能性があります。
ここでの唯一の悪い答えは、「知らない」ということです。これは、十分な情報に基づいた意思決定ができないことを示しています。それは雇用主にとっては危険です。
私は単にWebフレームワークを知らず、どのフレームワークを使用するのか分からない。
ここでも同じ問題が発生します。解決策はもっと考えることではなく、行動することです。
- 完璧な答えを考えるのをやめてください。
- フレームワークを選択してください。好みがない限り、ランダムに選んでください。ダーツボードを使用して、ダイスを転がし、コインを投げ、カードを選びます。
- これを使って。
- あなたはそれを使って好きでしたか?迷惑な点はありましたか?
- これらの不良要素を防ぐ方法を調べてください。フレームワークを誤用しましたか、それともフレームワークがどのように機能するのでしょうか?
- フレームワークを把握していると感じたら(気に入ったかどうかに関係なく)、新しいフレームワークを選択して、サイクルを繰り返します。
これについてさらに読むには、「することの考え方」>「思考の考え方」を読んでください。著者は、私ができる以上にそれを説明しています。
しかし、アプリを終了するプレッシャーが高まっているため、アプリを完全に破棄してやり直すことを検討しています
現在のコードベースが完全に維持できない混乱でない限り。あなたは反対の決定をしている。
開発者は、物を捨てることがより良い選択であるとしばしば考えます。とてもありふれた気持ちです。しかし、それはめったに正しい選択ではありません。
コードを捨てて最初からやり直すことは、仕事に行く途中で交通渋滞に巻き込まれ、仕事に遅れる(締め切りに間に合わない)ことを心配し、代わりに家に帰って同じ道をもう一度走ってみるようなものです。意味がありません。あなたは交通渋滞に巻き込まれているかもしれませんが、あなたは家にいたときよりも仕事に近くなっています。