他のコメンターはすでにいくつかの重要なポイントをカバーしています-私は、特に出荷されたコードのメンテナンスを担当する開発チームでしばらく働いた誰かの立場から話しています。あなたの質問のほとんどすべてが何度も何度も何度も出てきました。
起こっている可能性がある多くのものがあります。あなたは1つ指摘しました-元の開発者が退職した可能性があります。もう1つの可能性は、元の開発者がまだ会社にいる間、彼/彼女は長い間他のものに移り、作業メモリにそのようなものをもう持っていないことです(特に、作業して以来コードがかなり変更されている場合)その上)。
たとえば、私たちが対処しなければならないのは、製品チームが製品の次のバージョンを提供するための非常に積極的なスケジュールを持っていたことです。彼らが既存のバージョンのバグにも取り組む必要があったとしても、少なくとも推論が進んだとしても、彼らは彼らのスケジュールを満たすことができなかっただろう。この点については議論の余地があると思いますが、企業ソフトウェアの世界の現実は、ソフトウェアエンジニアリングのすべてのベストプラクティスを常に観察することを含め、ドアから物を取り出すことが他のすべてに勝るということです。「トレードオフ」とは、開発者が遅かれ早かれこれらの環境で行わなければならない不快な妥協のすべてに当てはまる曖昧な用語です。
ただし、一方で、重要なバグを修正するには、コードベースについて多くのことを本当に学ぶ必要があります。それは痛みを伴い、時には意気消沈し、しばしば圧倒されます。しかし、ソフトウェアプロジェクトの主題の専門家になると、どの程度正確に思いますか。教育のためにコードを読むのに何日も費やすことができますが、その種のコードの閲覧は、問題を解決するためにコードと「戦う」必要があったほど上手く行きません。研究は、私たちが行うことによって学んだモットーを絶えず上回っています。悲しいことに、あなたがスタートアップや新しいチームにいない限り、これは通常、いくつかのリリースで使用されているソフトウェアプロジェクトに参加していて、対処する必要がある実際の不満を持つ実際の顧客がいることを意味します。これは、まずバグを修正することを意味します。
本当に重要なことは、マネージャーと定期的に連絡を取り、仕事から得たいことを表明し、ビジネスが現時点で実際に目標に対応できるかどうかを確認することです。うまくいけば、答えはイエスになります。しばらくこだわり、現在のチームから可能なすべての経験を集めてください。答えが「いいえ」であることが判明し、優れた開発者である場合、多くのオプションがあります。しかし、バグを修正することで得られる経験を軽視しないでください。私は今、3番目のソフトウェアの仕事に従事しており、大量のコードを書かなければなりません。幸いにも、バグの特定、修正、防止に多くの時間を費やしてきたため、最初から多くのことが機能しています。