エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

【翻訳+意訳・要約】プログラマーがやってはいけないこと

※本記事は、ChatGPTによる意訳+翻訳を活用し、レイアウト調整したものです。
※感想は、オリジナルです。

原文

Things Every Programmer Should *NOT* Do - DEV Community

意訳+要約

プログラマーがやってはいけないこと

ブログ記事「Things Every Programmer Should NOT Do」では、プログラマーが避けるべき行動について具体的に説明しています。以下に主要ポイントを箇条書きでまとめます。

  • エラーメッセージを無視しない:

    • エラーメッセージは問題の兆候です。無視せず理解し対応することが重要。
  • スパゲッティコードを書かない:

    • 読みやすく保守しやすいコードを書くことが大切。コーディング標準に従い、コメントを追加する。
  • 計画フェーズを飛ばさない:

    • 計画なしにコードを書くと問題が発生しやすい。プロジェクトの構造とフローを事前に計画する。
  • バージョン管理を怠らない:

    • 小さなプロジェクトでもGitなどのバージョン管理を使うこと。早めに頻繁にコミットする。
  • テストを軽視しない:

    • テストは必須。コードのバグを防ぐためにテストを書く。自動テストが有効。
  • 休憩を取るのを忘れない:

    • 長時間の連続作業は生産性を下げる。定期的に休憩を取ることが大切。
  • 助けを求めるのを恐れない:

    • 困ったときは他人に助けを求める。仲間やフォーラムを活用する。
  • 学習を止めない:

    • 技術は常に進化している。新しい技術を学び続けることが重要。

プログラミングはコードを書くことだけでなく、これらの落とし穴を避けることも含まれます。ミスを笑い飛ばし、そこから学び、前進し続けましょう。

ChatGPTへのQA

Q:意図せずともやってしまうことがあると思うのですが、その場合は、どのように対策すればいいでしょうか?

意図せずにこれらのミスをしてしまうことがありますが、以下の対策を講じることで防ぐことができます。

  • エラーメッセージへの対応:

    • エラーログを詳細に確認し、理解する時間を設ける。
  • コードレビューの習慣化:

  • 計画の徹底:

    • 小さなタスクに分け、進捗を管理するツールを活用する。
  • バージョン管理の自動化:

    • Gitの自動コミットやブランチ戦略を使用し、頻繁にコミットする。
  • テストの自動化:

    • CI/CDツールを導入し、コードの変更が自動でテストされるように設定する。
  • タイムマネジメント:

    • ポモドーロ・テクニックなどの方法で定期的な休憩を取り入れる。
  • コミュニケーションの強化:

    • 困ったときは早めにチームメイトやコミュニティに相談する文化を作る。
  • 学習の継続:

    • 新しい技術やツールを定期的に学ぶ時間をスケジュールに組み込む。

これらの対策を実践することで、ミスを最小限に抑え、効率的にプログラミングができるようになります。

Q:言うは易く行うは難しだと思うのですが、簡単に実現するにはどうしたらいいでしょうか?

自省を簡単に実現するためには、小さなステップから始めることが重要です。以下の方法を試してみてください:

  • 日記をつける:

    • 毎日数分だけ、自分の作業や気づきを簡単に記録する。
  • フィードバックの習慣化:

    • 毎週1回、同僚や上司と短いフィードバックセッションを設ける。
  • 簡単な目標設定:

    • 短期的で達成可能な目標を設定し、達成度を週ごとに確認する。
  • アラームやリマインダーの利用:

    • スマホのアラームやリマインダーを使い、自己チェックの時間を忘れないようにする。
  • マインドフルネスアプリの活用:

    • 瞑想や深呼吸のガイドを提供するアプリを活用し、日々のリフレクションを取り入れる。

これらの方法で、自省の習慣を無理なく日常に取り入れることができます。

Q:一人でこれらの避けるために、有効な補助ツールはありますか?

プログラミングにおいて、避けるべき行動を減らすために有効な補助ツールはいくつかあります。以下にいくつかの例を挙げます。

  1. 静的コード解析ツール: コードの品質や潜在的な問題点を検出するのに役立ちます。例えば、Pylint(Python向け)、ESLint(JavaScript向け)、FindBugsJava向け)などがあります。これらのツールは、未使用の変数や関数、潜在的なバグ、コーディングスタイルの問題などを指摘してくれます。

  2. コードフォーマッター: コーディングスタイルを一貫させるために使用します。例えば、Prettier(JavaScript向け)、Black(Python向け)、clang-format(C/C++向け)などがあります。これらを導入することで、コードの可読性を向上させることができます。

  3. バージョン管理システム: 例えばGitを使用することで、コードの変更履歴を追跡し、過去のバージョンに戻すことができます。また、コードレビューやチームでの協力的な開発を支援します。

  4. 自動テストツール: ユニットテスト、統合テスト、機能テストなどを自動化するツールがあります。JUnitJava向け)、pytest(Python向け)、Jest(JavaScript向け)などがあり、コードの品質を保証し、バグを早期に発見するのに役立ちます。

  5. IDEの支援機能: 統合開発環境IDE)には多くの補助機能があります。自動補完、シンタックスハイライト、リファクタリングツールなどが含まれ、効率的なコーディングをサポートします。

これらのツールは、プログラマーがより効果的にコーディングするための手助けとなります。適切に導入し、定期的に利用することで、品質の高いコードを保つことができます。

感想+雑記

いろいろやり取りはしたけど、新しい発見はなかったな。。。
基本的に、一人作業が多いから、一人でもなんとかチェックできる体制を作りたいんだけど、全部実施済みだった。
やるとしても、日記付けだな。
最初はやってたんだけど、めんどくさくて辞めちゃった。
毎日、刺激的なことばかりじゃないからね。
書くことが辛くなる。

ゆっくりと死んでいくだけのオレの心を、誰か生き返らせてくれねぇかな?