Меня попросили оценить то, что кажется существенной унаследованной кодовой базой, в качестве предвестника заключения контракта, поддерживающего эту кодовую базу.
Это не первый раз, когда я был в такой ситуации. В данном случае код предназначен для достаточно громкого и достаточно загруженного многопользовательского игрового сайта, поддерживающего как минимум несколько тысяч игроков онлайн одновременно. Как и многие такие сайты, этот сайт представляет собой сочетание передних и внутренних технологий.
Структура сайта, как видно изнутри, это бардак. Есть папки с суффиксами "_OLD" и "_DELETE", лежащие повсюду. Многие из папок, кажется, не имеют смысла или имеют очень загадочные имена. Там может быть любое количество старых, неиспользуемых сценариев, лежащих даже в законных папках. Не только это, но, несомненно, есть много несуществующих разделов кода даже в сценариях, которые иначе работают (гораздо менее насущная проблема).
Это передача от действующих сопровождающих обратно первоначальным разработчикам / сопровождающим сайта. Как понятно по типичным сценариям такого рода, действующий президент не хочет иметь ничего общего с передачей, кроме того, что по контракту и по закону требуется от него, чтобы отодвинуть его вновь избранному сопровождающему. Таким образом, извлечение информации о существующей структуре сайта из действующего просто невозможно.
Единственный подход, который приходит на ум, чтобы войти в кодовую базу, - это начинать с корня сайта и медленно, но верно перемещаться по связанным сценариям ... и, вероятно, используются сотни, а сотни - нет. Учитывая, что значительная часть сайта находится во Flash, это еще не так просто, поскольку, особенно в старых приложениях Flash, ссылки на другие сценарии могут быть встроены в двоичные файлы (.FLA), а не в текстовые файлы (.AS / ActionScript).
Поэтому мне интересно, есть ли у кого-нибудь лучшие предложения о том, как подходить к оценке кодовой базы в целом для удобства сопровождения. Было бы замечательно, если бы был какой-то способ взглянуть на график частоты доступа к файлам в операционной системе веб-сервера (к которому у меня есть доступ), поскольку это могло бы дать некоторое представление о том, какие файлы наиболее критичны, даже если это не так быть в состоянии удалить те файлы, которые никогда не используются (так как некоторые файлы могут использоваться только один раз в год).