一人の天才プログラマーがほとんど一人でシステムを作ったがドキュメントはなくて誰もメンテできないときってどうするの?って話

捨てて作り直すしかないか
76
やまぶん @yamabunmath

富山在住 / 数学(特に代数学) / パズルみたいな問題を解くのが好き / 謎屋珈琲店名探偵No.19 / 謎検準1級 / ボードゲーム / ぷよぷよ / ゆるゆり / ポケモンGO / 料理 / 金沢大学→数学の先生→プログラマー / 東大ナゾトレNEW GAME第4巻に謎が掲載されました

https://t.co/jj804coAX2

やまぶん @yamabunmath

1人の天才プログラマーがシステムをほとんど1人で作ったんだが、ドキュメントが残っておらず、他に誰もメンテできる人がいない。 みたいな状況って、みんなどう対応してるの?

2020-06-25 23:58:39
やまぶん @yamabunmath

知らない間に新たな機能が追加されたりしてて、関連システムと辻褄が合わなくなったりするのも苦労してます。

2020-06-26 00:27:53
やまぶん @yamabunmath

バズってるので宣伝 Webルート作成サービスGuRutto(グルっと)です。 内部では天才プログラマーが作った効率化アルゴリズムが使われています。 無料で登録できるのでぜひ使ってください。 gurutto.geoinfo.co.jp/aboutGuRutto.h…

2020-06-26 18:41:07
リンク gurutto.geoinfo.co.jp 効率的なルート作成を簡単に | GuRutto(グルっと) 複数地点を一筆書き GuRutto(グルっと)は、地図上の複数地点をグルっと一筆書きするような効率的なルート作成を支援するサービスです。配送に必要な情報を入力するだけで、効率的なルートを自動作成します。
むねち 銀モデ会 全日本レブル会 @HID95880986

@yamabunmath そういう状態に陥らせてる時点で天才じゃないんですわ。 入口と出口だけ抑えて回りを突貫工事パターンとか、入口と出口だけ抑えて中身を作り直す… にならざるを得ない… (当社はその応酬です😱)

2020-06-26 15:43:29
雪山雪乃介 @yukiyama2003

@yamabunmath @yasana4 一人のポンコツプログラマーが作ったシステムがあって資料が残ってない なら割とよく見る

2020-06-26 18:06:19

こうなりそう

mast@四鎮守府旅行完 @1retsam

@yamabunmath そんな状況は体験したことが無いが…こんな感じじゃないの? A「よく分からないが動いているからヨシ!」 B「分からない…俺たちは雰囲気でメンテナンスをしている。」 C「動け!このポンコツ!動けってんだよ!……この手に限る。」

2020-06-26 00:09:35
やまぶん @yamabunmath

@1retsam 動いてる間は大丈夫なんですが、バグが見つかると大変です

2020-06-26 00:12:04
mast@四鎮守府旅行完 @1retsam

@yamabunmath 冗談はさておき、正しい挙動を決めておいて、それに基づくテストを作っておいて、正しい状況を確認したうえで、少しずつ変えてみて、挙動を確認しながらメンテナンスするとかでしょうか。天才的なプログラマーなら変態な人でない限り、きれいにコーディングされているから、コードも読みやすいかと。

2020-06-26 00:15:10
やまぶん @yamabunmath

@1retsam それが、結構読みづらいコードもあるんですよ。

2020-06-26 00:21:28
mast@四鎮守府旅行完 @1retsam

@yamabunmath その時はあきらめて、頑張るしかあるまい。何、1年目のPythonの知識ゼロの私でも日本語が一切ないOpenStackのCinderのソースに食らいつけるんだ。どうにかなる。

2020-06-26 00:24:10
やまぶん @yamabunmath

@1retsam mastさんもいろいろ苦労されてるんですね

2020-06-26 00:31:20
mast@四鎮守府旅行完 @1retsam

@yamabunmath まあ、アレは1年目の時の上司も流石に無茶かと思ったらしいけどね。

2020-06-26 00:35:26
伊藤 @pj_doaa

@yamabunmath 準天才が現れてギリギリまで保守を続けますが最終的には手に負えなくなりシステム更改します。

2020-06-26 16:59:59

こうしたらいい

甕星@Perfect Brown Lunchbox @mikahosi

@yamabunmath 案1、試しに止めてみる。 悲鳴を上げた部署がシステムを利用してる。 誰も悲鳴を上げなければラッキー♪ 案2、入出力をだけでも仕様を起こす 同じ入力に対して同じ出力をするシステムを構築。平行運用期間をおいた後、旧システム撤去。

2020-06-26 11:39:51
yypiece@datascientist @y2yuuuki

@yamabunmath ⑴天才プログラマーが自分である ⑵天才プログラマーが自分ではない まず⑴であることを祈るw ⑵はとりあえず天才に凡人でもわかるよおうなシステムの再構築かドキュメントにおこすようお願いする もし天才がいない場合は何人かで作り直す

2020-06-26 13:06:09
W.D. @WD4096

@yamabunmath 1 ソースを読んで項目転送表を作る 2 パフォーマンスの悪い箇所から順次リファクタリングしていく という対応が多いです。書き直したいけど書き直すコストが実益に対して高い場合とか、悔しいですが見送ることがあります。 ループのネストが1段目と2段目が逆であるべき箇所が2桁見つかった時とか。

2020-06-26 18:27:11