プログラマ俺、コードを読み込めていないまま修正をしコードレビューでボコボコにされる
■ このスレッドは過去ログ倉庫に格納されています
コメントもドキュメントもない巨大コードに修正入れるのキツすぎる >>2
コード
レビュワーはその部分に詳しい人に頼む >>5
走らせられないコードがあってさ
詳しくはいえんのだけど 修正しろって言われる部分がコーディング技術によるものか仕様の不理解によるものかで変わってきそうだな。どっちにしてもやりたくない仕事だな 自分はこのぐらいの長さまでしか動作未確認で出せる自信ないよ。
uint8_t timerIRQ[TIM_NUM] = {TIMER_IRQ_0, TIMER_IRQ_1, TIMER_IRQ_2, TIMER_IRQ_3};
typedef struct timerInfo {
bool used = false;
uint32_t delayUS = 0;
bool isOneShot = false;
// pointer to alarm callback function.
void (*callback)(void) = NULL;
} timerInfo_t;
timerInfo_t gTimerInfo[TIM_NUM] = {0};
// alarm interrupt handlers.
static void commonAlarmHandler(void) {
for(int16_t i = 0; i < TIM_NUM; i++) {
// which timer IRQ fired?
if(timer_hw->intr & (1u << i)) {
hw_clear_bits(&timer_hw->intr, 1u << i);
gTimerInfo[i].callback();
// set next alarm if interval mode.
if(gTimerInfo[i].isOneShot == false) {
restartIntervalTimer(i);
// clear timer info if oneshot mode.
} else {
gTimerInfo[i].used = false;
}
// done.
break;
}
}
}
// set interval timer.
int8_t startIntervalTimer(uint32_t delayUS, void (*callback)(void)) {
for(int16_t i = 0; i < TIM_NUM; i++) {
if(gTimerInfo[i].used == false) {
hw_set_bits(&timer_hw->inte, 1u << i);
gTimerInfo[i].used = true;
gTimerInfo[i].delayUS = delayUS;
gTimerInfo[i].isOneShot = false; // set to interval mode.
gTimerInfo[i].callback = callback;
irq_set_exclusive_handler(timerIRQ[i], commonAlarmHandler);
irq_set_enabled(timerIRQ[i], true);
uint64_t target = timer_hw->timerawl + delayUS;
timer_hw->alarm[i] = (uint32_t)target;
return (int8_t)i;
}
}
return -1;
} 見てらんねえコードに修正入れなきゃいけない時は泣ける。まるまる書き直したくてもできないとき >>8
俺の経験不足のせいでも仕様の理解不足と巨大で複雑なコードのせいでもある >>10
ある程度のテストは書かれてるけどそれ以上のテストは無理 プログラミングの技術はあるけど読みにくいことこの上ないコードを書く人、なんなん
勘弁してほしい >>18
それはかなりつらい作業だね。
適当なドライバーとスタブ書いてとりあえず走らせることも不可?状況が良く分からないんだよね。
実行環境無しでコーディングはやったことないな。
プロ中のプロなのかな? >>20
外部の処理に依存していてかつテスト出来ない設計になってて無理
書き直すには工数がでかすぎる
ある程度安定はしているので正直動かしたくない 分からないのに分からないと言えない人?
犯罪者だな >>19
成績は良いけど教えるのは下手だった人いるじゃん?
あれと本質は一緒 へー、そんなクソ言語も世の中にあるんだ。やったことないな。 最近はChatGPT4に頼りっぱなしだ。基本的なコードレビューならやってくれて助かるよ。
API連携したり、プロンプトがもうちょっと巨大なデータを把握できるようになれば、人間でのレビュー作業がほんとに少なくなると思う。 >>22
どんな言語・環境か分からんけど
外部の処理に依存していて
→この部分を自分勝手にスタブとドライバで代用して、
かつテスト出来ない設計になってて
→ここは自分で書いたコードだからいくらでもデバッグ出力なりなんなり埋め込めるはずだけど、
こういうのが許されない開発現場ってあるんだね。世の中広いな。 >>25
うーん
そもそもAPIを叩くとかではなく提供されているライブラリを使うので一応モックアップは出来るんだけどそうするためには8千行のクラスを書き換えなきゃいけなくてとても辛いんだよ >>27
特殊な部分なので無理なんよ
別の部分はここまでテストしにくくない 難しいシステムを扱っているんだね。自分には無理だわ。 ■ このスレッドは過去ログ倉庫に格納されています