私はJava / Groovyの強力なバックグラウンドを持ち、管理ソフトウェア用の非常に大きなCコードベースを維持するチームに割り当てられました。
データベース内のblobの処理やPDFおよびExcelでのレポートの生成など、いくつかの問題点はJava Webサービスに外部化されています。
ただし、Java開発者として、コードのいくつかの側面に少し混乱しています。
- それは冗長です(特に「例外」を扱う場合)
- 巨大なメソッドがたくさんあります(2000行以上のメソッド)
- 高度なデータ構造はありません(リスト、セット、およびマップをたくさん見逃しています)
- 懸念事項の分離なし(SQLはコード全体でうれしそうに混合されています)
その結果、ビジネスは大量の技術コードに隠されており、Object Orientedと関数型プログラミングのピンチで形作られた私の脳は楽ではないと感じています。
プロジェクトの良い面は、コードが単純であることです。フレームワーク、実行時のバイトコード操作、AOPはありません。また、サーバーは、Javaが「hello world」を吐き出すのに必要なメモリよりも少ないメモリを使用することにより、1台のマシンで10000人以上のユーザーに同時に応答できます。
私は、一般に受け入れられている現代の原則に従ってCコードを書く方法を学びたいです。現代のCをどのように記述し構造化するかについて、一般に受け入れられている原則はありますか?
「Effective Java」本に相当するものに少し似ていますが、C用です。
回答とコメントに照らして編集:
- 私は自分の考え方をCコードに適合させ、OOPにミラーリングしようとはしません。
- コメントから推奨されるコーディングスタイルガイド(The GNU Coding StandardsおよびThe Linux Kernel Coding Style)をスキャンして読み始めました。
- 次に、このコードスタイルを同僚に提案しようとします。最も難しいのは、同僚に、巨大なメソッドを小さなパーツに分割し、同じ4行のエラー処理コードを繰り返すことをメソッドの助けによって回避できることを納得させることです。