プログラミングは簡単ではありません

プログラミングは...されていない
プログラミングは、キーボードのタップを動作していません。プログラミングは心の中で劣化した作品を使用して、キーボードショートカットやマウスを守っていません。第一に考慮した場合、各プログラミング言語のプログラミングを学ぶことではありません。ない良いプログラマかどうか、また、コードエディタとIDE-VS-コード、アトム、のために自分の好みによって決定するコンピュータのブランド、価格、性能、およびオペレーティングシステムを通じてのIntelliJ IDEAは、Vim、メモ帳++ を決定する、など。人気の信念にとは異なり、多くのハリウッドのトレンド反して、プログラムをハッキングと同じではありません。

また、プログラムは、プログラミング言語の構文と機能内蔵のを覚えておくだけではありません。ロジック条件、およびIF文はアルゴリズムが青写真できないプログラミング描いています。数学、再帰、コンピュータ科学とデザインパターンはできません。彼らはプログラミングの重要な部分ですが、彼らは、プログラミングの一部だけですが。

設計と計画の
コードを書く前に、私たちはスムーズな開発サイクルを確保するか、スムーズな開発サイクルの可能性を高めるために、総合計画の設計とアーキテクチャを投影します。このとき、ソフトウェアの設計に便利です。ツールチェーン、パイプライン、公共および内部APIの抽象化レイヤー、モジュラー、オブジェクト・リレーショナル・データベースの構造と計画は、開発のこの段階で行われます。

私たちは、デバッガと共存
プログラミングの芸術の限界を考え、最も、実践的、効果的かつ実現可能な解決策を問題解決にジャンプするボックスの外側を考えるように私たちを必要とします。我々は「ITguy」または「顧客サポート」家族の家の原因であると言われている理由かもしれません。実際には、私たちの仕事はいっぱいリークしています。これは、「プログラミング」「問題の解決」に美化道を言ってようなものです。

言い換えれば、内部と外部のコンピュータが私たちのレギュレータの利便性を持っているので、私たちは、読み取りと書き込みの文書が非常に重要である方法を知っています。正しいドキュメントは - それは詳細なドキュメントの実際のページの形で表示される、またはコードベースのような単純な貴重なコメントを広めるために - プログラマ、最も重要なライフラインとして、この1。それがなければ、私たちは暗闇の中で失われてしまう、私たちは、デバッガとしてその職務を実行することはできません。ほとんど、あるいはまったく進展、私たちのほとんどの時間をどのようにレガシーコードベースの仕事を理解するために、実験や調査やフレームワークに費やされているため。要するに、これは非常に悪い開発者の経験につながります。

すべての可能なシナリオを考慮して
デバッグすることは困難で十分です。さらに悪いことに、実行コードは、一般的に直線的ではありません。プログラムは、複数のパスを実行する大規模プロジェクトを意味し、if文論理持っているので、「ブランチを。」私たちは、すべての可能なシナリオやエラーを考慮する必要があり、特にユーザ入力に。より困難なプログラミングを行うために、各実行可能ファイルのパス認知的負荷を追跡するために必要です。

ユーザーエクスペリエンス
先進国のうち、我々は、通常のユーザロールを入力しました。機能を提供することに加えて、新機能、修理、エラーを追加し、私たちのコードベースを記録し、我々はまた、当社のアプリケーションやソフトウェアの操作方法一般ユーザーに焦点を当てます。私たちは、多くの要因は、そのようなアクセス性、可用性、使いやすさと見つけやすさ(これらに限定されない)として、UIデザイン、カラーテーマ、アニメーション機能、およびパフォーマンスの優れたユーザー体験をもたらすことができると思います。

パフォーマンスと最適化は、
プログラム自体のパフォーマンスは非常に重要な側面である、と述べました。私たちは、コンピュータサイエンス、労力と時間と空間アルゴリズムを保存するための最も使用の製造における背景と特に。私たちは私たちに、メモリ、CPU、利用可能なGPUをフルに活用するために、些細な微妙な時間スケールに魅了されています。

Web開発の文脈では、ネットワークの最適化をマスターする必要がある重要な概念です。私たちは、サーバーからの応答ペイロードを減少させるために、私たちのHTML、CSSとJavaScriptを削減し、圧縮することは非常に懸命に試みました。画像やその他の雑多な遅延やリソースは、ユーザーがページをダウンロードする必要があります前に、利用可能なデータの量を最小限にするために、ダウンロードを圧縮しています。

しかし、時には我々はあまりにもパフォーマンスに取りつかれています。私たちが進歩し、どのような生産に行われる必要があるため、不要なコードベースの特定の部分の最適化にはなく、実際の(プロジェクト)に焦点を当てた場合、時期尚早の最適化が問題となりました。この場合、私たちは本当に最適化する必要のあるコードベースのパーツ賢明に判断しなければなりません。

セキュリティ
UIロジックおよびソフトウェアの中のほかは、プログラマーとして、私たちはユーザーの安全のために責任を負うことがあります。私たちの時間では、データは非常に切望されており、通貨(リソース)の高度は、ユーザーの個人情報のセキュリティがこれまで以上に重要であることを保証します。ユーザーが当社のソフトウェアを信頼しているため私たちは、個人データを保護するための追加措置をとります。私たちはこの責任を果たすことを主張していない場合、我々は確かに本物のプログラマではなく、さらに長期的ではありません。

セキュリティの近くに、私たちも安全になることはありません。親指の一般的なルールは、「決して信頼ユーザの入力を。」を教えてくれる それも、「ベストプラクティス」のパージデータとユーザの入力にあらゆる努力をすると考えることができます。我々は慎重でないならば、我々は我々のソフトウェアをすることはありませんし、インフラストラクチャは、巨大なリスクに直面しているが、また、プログラマの保護へのコミットメントがあり、そのようなユーザデータなどの機密ユーザーデータへの損傷のリスクを実行します。

しかし、セキュリティは、データとユーザの入力に限定されるものではありません。コンピュータマルウェアのウイルス、ワーム、トロイの木馬、アドウェア、キーロガー、ランサムウェアおよび他の形態のコンピュータやその他のデバイスの世界で何百万人に拡大し、wreak大混乱に続きます。何十年でもハードの改善ソフトウェア技術、完璧なシステムはありません。常に好奇心やシステムをクラックするために可能な方法を模索するために少数の人々を探しているが存在しますので、セキュリティは、継続的な規律プロセスですが、完璧なことはありません。

私たちは、セキュリティの優先検討を含めていない場合はそのため、どのようなユーザー指向のグループの関係なくは、その後、我々は、最も重要な優先順位のセキュリティ設計の一つとして念頭に置いておきたいはずです。これは、これらの脅威は、このようなデータの損失、ファイルの破損やシステムベンの崩壊やその他の不便さなどの問題を引き起こす可能性があり、これらの脅威の影響からユーザーを保護するために行われます。

チームワークが夢を実現させ
、それが必ずしもプログラミングに関連していない場合であっても、チームワークは、ソフトウェア開発に不可欠な役割を果たしています。いくつかの大規模なプロジェクトの一切の活動が複雑で、1はテンポの速いことができないため、ルーチンの繰り返しまたは任意の厳格な期限や時間制限のクライアントや上司で高品質のソフトウェアを開発しています。

それは我々がチームの多様性を持っている理由、彼らはプログラミングの多くの側面のひとつに焦点を当てます。人は、すべてのスキルと知識、そしてあらゆる側面を互いに結合効果的なポイントを持っていることはありません。チームは、UI設計を担当することと別のグループは、ソフトウェア自体の機能開発を担当かもしれないが、アクセスを保証することができます。最終的には金融や実用的な限界で使用されるソフトウェア、ユーザーエクスペリエンス、パフォーマンス、セキュリティ、(ソフトウェア)の最高の機能を持つことになり、各プロチームの能力、すべての場合。

会議や時間管理の持続のために、組織とワークフローの自動化が不可欠です。それは私たちに多くの時間を節約しますので、我々は、適切に私たちのビルドツールとのパイプを設定するには時間がかかります。一般的には、時間が長くにわたる投資収益。

幸いにも他の人との仕事は
プロジェクトの最終的な成功は、メンバーが仲良く良いチームに大きく依存するため、チームワークの概念を実証するために、私たちは、仲間との良好な関係を確立しています。私たちは、経験豊富な人々は常に新規参入者を導く必要があり、この環境では、奨励作業環境を作成するために努力しています。

チームでの私たちがソフトウェアを開発しているので、私たちは他の誰かが我々のコードを読むことができるかどうかに注意を払う必要があります。開発サイクルの長期的な持続可能性を確保するためには、コードの可読性と保守性は、プロジェクトのロジックと機能として重要と考えられています。これらは確かに良く、私たちが書いたコードを理解するために、私たちと他の人を助けるよう情報提供技術GITは、情報及び書類を提出しながら、我々は常に、書き込みの良い、読みやすいコードにしたいです。

それが私たちのコードを読むために他の人になると、コードレビューは、プログラミングのためのベストプラクティスについての詳細を学ぶための素晴らしい機会です。これはまた、別のコードライブラリの方法、およびその基礎となる設計とアーキテクチャよく知られています。受信者の建設的な批判が不快とに対応することは困難であるが、一方で私たちのプログラマーを改善するように、合理的な提案のように重要です。

プログラミングは難しいです
プログラミングは、ユーザーエクスペリエンス、パフォーマンス、セキュリティ、およびチームコラボレーション機能など、多くの分野を包含する。他の側面を無視することは十分ではありませんしながら、一つの側面にのみ焦点を当てます。プロジェクトの複雑さと重要性のために、数行のコードが成功することができるようになります入力されていません。それは成功するために慎重な計画、設計、配慮とチームワークの多くを必要とします。実際には、時間が特に長い時間で、デバッグプロセスで、タイピングで過ごした時間よりもプログラミングに費やしました。

最後に、プログラムは実際には連続、中断のない学習です。適応性と継続的な学習は、業界の生き残りの鍵となります。私たちが学ぶために継続して努力していない場合、我々はトレンドに追いつくために期待することはできません。業界の混乱のこの指数関数的な技術の改良では、我々はトラブルを避けるために、そのテンポの速いに追いつくために持っています。

世界中の開発者が、私はこの点を認識することで、この記事を終わりたいと思い、働き者です。この記事を書いて、私は、毎日の仕事の流れに開発チームを反映する必要があります。私たちは、多くの場合、プログラミングやソフトウェア開発を無視している多くの方法を模索しなければなりませんでした。それ以来、私はあなたのコンピュータにインストールされているすべてのソフトウェアのより良い理解を持っていました。このため、今日、私は関係なく、彼らの経験の、プログラマの提唱者で感謝みんなにしたいです。それらがなければ、我々はそれがどこであるのでしょうか?

当然のこととして見られ、彼らの努力に置くことはありません
オリジナルhttps://dev.to/somedood/programming-is-hard-2p87を

公開された155元の記事 ウォン称賛57 ビュー60000 +

おすすめ

転載: blog.csdn.net/weixin_43764814/article/details/104044429