banner
陈不易

陈不易

没有技术想聊生活
twitter
medium
tg_channel

「高度」で「実用的」についての考えについて

今日は、先輩から「受け継いだ」システムに問題が発生し、デバッグしながら再びこのシステムを見直しました。

このシステムは高度なものとは関係がなく、今日の視点から見ると少し「LOW」な部分もあります:

  • PHP
  • Apache2.4
  • MySQL5.6
  • Openlayers 3

これに対して、このシステムはキャンパスの日常的なメンテナンスに非常に安定した役割を果たしており、日常的な記録やメンテナンススタッフのメンテナンス記録などに使用されています。

このプロジェクトには、後半にいくつかの機能を追加しました。当時、自分自身はアプリケーション開発の基礎を持っており、新しい技術をおもちゃとして探し回ることに熱中していました。PHP に対しては「鼻で笑う」と言っても過言ではありませんでしたので、当時のタスクが割り当てられた後、非常にイライラしました。

自分自身がイライラしている上に、技術も半端なレベルであったため、プロジェクトの進行中、タスクの完了状況は基本的には「プロセスは正常に進行するが、少しのテストで多くの問題が発生する」という状況でした。

あっという間に自分の修士 2 年の前期も終わり、その間にいくつかのプロジェクトに参加しました。プロジェクトの技術スタックは自分の望むところにより近代的になりましたが、実用性はそれと比べてかなり劣っています。このシステムは「日活」が 2〜3 人のユーザーの場合、非常に性能の低い仮想ホストに静かに横たわっており、数年間稼働し続けています。2B のシステムとして、私たち非コンピュータサイエンスの「練習」プロジェクトと比較しても、非常に優れたパフォーマンスを発揮しています。

技術には「新しいもの」と「古いもの」がありますが、それほど単純な「良いもの」と「悪いもの」ではありません。先輩が書いたコードは、ソフトウェア設計の観点から見ると再利用性が非常に低く、可読性も普通ですが、私は今日、PHP の基礎がない状況で古いシステムを修復するのにあまり努力を要しないで済みました。ある意味では、メンテナンス性は非常に優れています。プロジェクトファイル(*.php)はフォルダに静かに存在し、彼らの使命を果たしています。

新しい技術は次々と登場し、優れたプログラマーたちは開発効率やソフトウェアのパフォーマンスの向上に取り組んでいますが、自分にとっては、新しい技術を盲目的に追求する一方で、技術そのものがアプリケーションのためにあるということを薄めてしまっています。さまざまな「新しい技術」を使って、楽しいが無駄な「おもちゃ」アプリを作りましたが、自分自身が完璧で生産環境で完璧に動作する実用的なアプリケーションはまだありません。その後、「新しい技術」への追求を薄め、基礎的なスキルと一般的な理論の強化により、本当に実用的な「おもちゃ」を作ることを目指します。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。