少なくとも 1 つのプログラミング言語を知っておくべき 6 つの理由
出典:
Hackernoon あなたはコンピューター サイエンスに触れたことがないかもしれません。しかし、少なくとも 1 つのプログラミング言語を学ぶべき理由は少なくとも 6 つあります。
1. 人生の 28,300 時間をどこで費やすかを理解する
統計によると、私たちのほとんどは人生のかなりの部分 (28,300 時間) をインターネット、モバイル、デスクトップ アプリケーションに費やしています。これらの仮想的なものはすべてコードを使用して作成されます。これらがどのように機能するかを理解するには、基本的なプログラミングの知識を持っていることが重要です。
2. 生活を楽にするために
プログラムや技術的なデバイスは、私たちの生活を楽にするために作成されています。そして、私たちのほとんど全員がユーザーとしてそれらと対話しますが、あなたもプログラミングを通じてアプリケーションを作成できます。たとえば、オフライン時にボットを使用してテキスト応答を設定します。一見すると、これは難しい作業のように思えますが、そうではありません。コードをすべての行に記述する必要さえありません。コードのこの行またはその行が何を担当しているのか、そしてすべてがどのように機能するのかを理解する必要があるだけです。他のプログラムも同様の原理を使用して作成されます。
3. 新しいものを創造できるようになる
携帯電話からエレキギターまで、あなたが使用するすべてのデバイスはコードを使用して操作します。このように、プログラミングは私たちの生活の中に存在しています。つまり、あなたが何に情熱を注いでいるかに関係なく、プログラミングを通じて新しいものを生み出すことができます。ミュージシャンでも弁護士でも、プログラミング言語を知っていれば誰もが創造性を発揮できるようになりました。
4. 履歴書を改善するには
履歴書に何か新しいことを追加するのは何も悪いことではありませんよね?そこで、追加スキルとしてプログラミングを加えてみてはいかがでしょうか? プログラミング言語を知っていれば、あなたの履歴書を他の人より目立つものにすることができます。これは、あなたが既成概念にとらわれずに何かを学ぶことを恐れず、挑戦することを恐れない人であることを示しています。また、あなたが最新のテクノロジーに対応していることも示します。
5. 問題解決能力を強化する
プログラミングによって得られるのは単なる知識ではありません。問題解決スキルを向上させ、忍耐力のレベルも向上させます。すぐには感じられないかもしれませんが、将来的には人生のさまざまな面に良い影響を与えるでしょう。
6. キャリアの機会を拡大するため
2020年は私たちにたくさんの驚きをもたらしました。新型コロナウイルス感染症の影響で就職市場は一変した。多くの職業が関連性を失い、人々は生き残るための新たな機会を見つけようとしています。したがって、あなたの職業が30年後も存在しているという保証はありません。バックアップ オプションを用意しておくことは賢明な決定です。
コードのリファクタリングが必要な場合: 12 の役立つルール
出典:
Medium リファクタリングの核心は、コードベースを再設計し、プログラムの内部構造を変更することです。リファクタリング プロセスは、多くの場合、バグの修正、新機能の追加、パフォーマンスのチューニングと組み合わされます。ただし、リファクタリングはコード レビューやエラー修正ではないことを忘れないでください。
時間をかけてリファクタリングを学ぶ価値がある理由
新しい開発者であれば、コードをリファクタリングする方法を学ぶこと、そしてさらに重要なことに、いつリファクタリングするかを知ることは重要なスキルになります。多くの開発者はリファクタリングをスキップします。その結果、コードは平凡で、わかりにくく、読みにくいものに見えます。コードのリファクタリングが必要な時期をどうやって知ることができますか? これを決定するのに役立つ 12 のルールがあります。
- クラスパラメータリストが大きくなりすぎていませんか? テストやデバッグは難しいですか? したがって、これはリファクタリングの主な候補です。
- クラス内のコードに、クラスの依存関係の 1 つだけを使用するメソッドはありますか? このクラスが 1 つのメソッドのみで構成されている場合でも、このメソッドを別のクラスに配置することをお勧めします。
- あなたのメソッドはブールパラメータの値に応じて 2 つの異なることを実行しますか? この場合、責任を明確にした 2 つの異なるメソッドを作成する方が良いでしょう。
- メソッドに値の分岐はありますか? たとえば、オブジェクトの種類を確認し、その種類に応じてさまざまな操作を実行します。
if-else
これは、 または をswitch
辞書に変えるのに最適なケースです。
if-else
または をよく使いますかswitches
? 代わりにポリモーフィズムを使用し、Strategy や Mediator などの実績のあるデザイン パターンを適用してみてください。
- クラスのコンストラクターまたはメソッドはマジックナンバーまたは文字列を受け入れますか? マジックを通常の列挙に置き換えます。
- 明確にプログラムされた値(数値または文字列)はありますか? 代わりに、値をパラメータとして取得し、構成可能にします。アプリケーションを再利用したり、新しい環境にデプロイしたり、設定を変更したりすることが簡単になることがわかります。
i
、j
、k
、m
、n
、のような変数名は使用しないでくださいx
。それはやめてください。
- 同じロジックを複数の場所で頻繁に使用していることに気づきましたか? ロジックを独自のクラスまたはメソッドに移動します。
- コードにクラスはあります
Service
かManager
? これらはスイスアーミーナイフのようなもので、めったに使用されないオプションがたくさんあります。どのようなタスクをその中で使用できるかを少し時間をかけて考えてから、個々のタスクを独自のクラスに移動します。
- 単一のメソッドをテストするのは、そのメソッドが属するクラスが多くのコンストラクター引数を取るため、難しいと感じていませんか? 次に、メソッドをクラスから取り出します。
- 新しいものを追加したり
else-if
、switch
新しい要件や機能を実装したりする必要がありますか? 自動型検出のためにインターフェイスとリフレクションを使用してみてください。
リファクタリングはどのように内部ソフトウェアの品質を向上させますか?
リファクタリングすると、コードの 1 つ以上の特性が改善されます。
- 保守性 – ソフトウェアを簡単に変更できるようにします。保守性には、新機能の追加、パフォーマンスの調整、バグ修正の容易化が含まれます。
- 柔軟性とは、他の目的のためにソフトウェアを変更できる範囲のことです。
- 移植性 - ソフトウェアを別の環境でいかに簡単に動作させることができるか。
- 再利用性 - ソフトウェアの一部を他のシステムでどれだけ簡単に使用できるか。
- 可読性 - インターフェイス レベルだけでなく、実装の最小の詳細まで、ソース コードをどれだけ簡単に読んで理解できるか。
- テスト容易性 - 単体テスト、統合テストの作成の容易さ。
- 理解 - ソフトウェアを一般的なレベルで簡単に理解する方法。コードベースに構造化されたコンテンツが含まれていることを確認してください。
GO TO FULL VERSION