効果的なデザむンの幻想デザむン

この投皿はフォロヌアップです 効果的な開発の幻想管理



私たちは党員プログラミングを孊び、ほずんどすべおの人がフォヌラム、䌚議、そしお時にはチヌムで質問する段階を経たした。 条件付きで、すべおの回答者は2぀のグルヌプに分けるこずができたすあなたの質問ぞの答えを知っおいる人ず、正しい方法を知っおいる人。 圌らは暙準の預蚀者であり、正圓な理由の䜿埒であり、圌らだけが完璧なアヌキテクチャずなめられたコヌドの埌ろに隠れお、あなたのプロゞェクトを恥知らずに匕き締めるこずができたす。 圌らはITの䞖界の舞台裏の䞖界であり、それを知らずに、今埌数幎で䜕がトレンドになるかを決定したす。

あなたが読曞にうんざりしおいるなら、私はこの投皿の本質はあなたがあなた自身の頭で考えるこずであるず蚀うでしょう。 たたは、珟圚の堎所で長く生産的に仕事をする぀もりなら、圌らは自分の頭で考え、自分の考えを口に出さないようにしたした。 猫の䞋で誰もが歓迎したす。







パヌフェクトコヌド教䌚


問題は䞖界ず同じくらい叀い-その意味を理解せずにアむデアを䜿甚しおいたす。 私たちの堎合、すべおは、人が必芁な理由を理解するのに十分な経隓を持たない、たたは業界の兞型的なタスクず本に蚘茉されおいるアプロヌチずの関係を定匏化するのに十分な知識を持たない高床な蚭蚈技術を習埗したずきに始たりたす。 結果は1぀です-提案されたアむデアは信仰で受け入れられたす。 たた、範囲の理解が䞍足しおいるため、これらのアむデアが適甚できない堎合もありたす。

ITの䞖界は、勉匷しない人が長い間そこにずどたらないずいう点で優れおいたす。 そしお、OOPが本圓に必芁な理由、パタヌンなどの段階的な理解 そのようなプログラマヌにはただ来たす。 䜕も理解しおいない人は、あらゆるアプロヌチを支持する匷匕な刀断ず、このアプロヌチに準拠しおいないすべおの2幎生の人々を認識する準備ができおいるため、非垞に簡単に特定できたす。 そしお、これがヒンドゥヌ連隊の銖謀者である堎合、この行動はただ䜕らかの圢で説明するこずができたすが、そうでない堎合は、そのようなtimlidsは、すべおの人を人にするこずを促す䞍死の創造物Svetlana Baskovaの映画のヒヌロヌから倚くを孊ぶべきだず思いたす。

特定のケヌスで䜿甚するアプロヌチを適甚する理由を毎回自問するのをやめないでください。 このアプロヌチが解決する問題に泚意しおください。 これらの問題がプロゞェクトに存圚するこずを確認しおください。 この簡単な手順の結果ずしお、「これはグッドプラクティスです」たたは「私の信仰は匷い」ずいう圢匏の最終的な正圓化に至った堎合、おそらくこれは、この堎合に遞択されたアプロヌチが適切ではないずいう間接的な兆候です。





玙飛行機からシャトルたで


たずもな若いWebプログラマヌの心は、「高負荷は䜕個の接続から始たるのか」ずいう疑問を刺激したす。 しかし、すべおのきちんずしたアヌキテクトの心は、2぀の質問で占められおいたす蚭蚈されたシステムでさらに拡匵が地獄にならないようにするための最小レベルの抜象化ず、開発ずサポヌトが地獄にならないようにどれだけ高いレベルの抜象化を行うこずができるかです。 そのような質問はたくさんありたすが、それはすべお、特定の芏暡のプロゞェクトに䜿甚するパタヌンずアヌキテクチャに垰着したす。 倚くの堎合、開発の芋通しやプロゞェクトぞの参加に関するアむデアが非垞に曖昧である䞀方で、時間ず予算が問題をすぐに完党に解決するわけではないずいう事実により、問題は耇雑になっおいたす。 同時に、建築家は盞反するすべおの芁件を満たすものを䜜成する必芁がありたす。

さたざたな人々がさたざたな方法でこの問題を解決したす。 誰かが構造を気にしないず決めたのは、プロゞェクトが成功した堎合、最初から曞き盎すお金があり、成功しなかった堎合、努力する必芁はないず信じおいるからです。 䜕でもできるシステムを蚭蚈しおいる誰かが、銃をスズメに向け始めたすが、蚈算の繊现な粟床にもかかわらず、指を指す時点で、スズメが飛び去り、時間ず予算が倍になっおいるこずがわかりたす。 誰かが絶望から酔っおしたい、問題の解決から遠ざかりたす。 そしお、誰かが幞運にも、時間が蚭定されるシステムの芁件を掚枬できれば、玠晎らしいアヌキテクチャを備えた優れた補品が埗られたす。 そしお、誰かが珟圚の芁件に埓っお、たたは少しの時間を倱うように蚈算にわずかな䜙裕をもっお蚭蚈したすが、少なくずもさらなる拡匵の可胜性を残したす。 原則ずしお、最初ず最埌のアプロヌチが最も実行可胜です。

私の意芋では、今日、そのようなアヌキテクチャのアプロヌチの適甚がい぀から正圓化されるかを決定する明確な方法はただありたせん。 ぀たり アプロヌチのコレクションがあり、アプリケヌションのケヌスが説明されおいたすが、そのようなケヌスが始たる境界線は他の堎所では説明されおいたせん。 通垞、い぀応募するかを理解するには経隓が必芁ですが、そのような経隓を蚀葉で䌝えるのは簡単なこずではありたせん。 業界の詳现は、ほずんどすべおの新しいアヌキテクチャが既存のものず異なるため、叀いアヌキテクチャずビゞネスをしおいない人ぞの新しいアヌキテクチャに関するアドバむスは圹に立たないほどです。

本でパタヌンがどれほど゚レガントであっおも、すべおのコヌドをテストでカバヌするずいうアむデアがどれほど魅力的であっおも、アヌキテクチャを「保留」するこずがどれほどクヌルであっおも、これはすべお最終的にあなたのプロゞェクトの負担であり、揎助ではないこずがわかりたす。 あなたが必芁ずするものず犠牲にするものを自分で決めおください-通垞のコヌドが考えられないように、垞に無芖するこずから遠く離れお、地獄の第9の茪にあなたを投げたす。





りォヌルバむク


珟圚、特定の蚀語のコヌドリポゞトリはもちろん、github.com、sourceforge.netなどの倚くの玠晎らしいプロゞェクトがありたす。 そしお、自転車が悪いずいう信念を怍え付けるずいう点で重芁な圹割を果たしたのは圌らの存圚であり、垞に既補の解決策があるずいうこずです。 もちろん、Windows甚のGUIツヌルキットたたはPHP甚のテンプレヌト゚ンゞンを䜜成するこずに決めた堎合は、未完成のビゞネスをすべお削陀し、立ち䞊がっおズボンを締めおフィヌルドから離れ、倚数意芋を衚明したす。

しかし、䞊蚘のものよりも少し非定型なものに取り組むずすぐに、アクセスしやすいず思われるこれらのラむブラリの品質ずいう党面的な問題に盎面したす。 品質ずは、3぀のこずを意味したす。



ラむブラリの品質を真剣に芋れば、アナログを自分で曞く必芁がある堎合でもオプションを蚱可できたす。 簡単だからずいっお。 より速く、より効率的になりたす。 だから間違っおいるでしょう。 そしお、あなたの自転車は本圓に特別なものになり埗たす-想像䞊の豊富な解決策があったずしおも、それらのどれもあなたに完党には合いたせん。 ただし、バヌゞョンをgithubに投皿するこずで、この犠牲を免れるこずができたす。 そのため、他の人がそれに火を぀けたり、自分で曞いたりしたす。 たた、アプリケヌションの展開時間は、それずずもに展開する必芁があるラむブラリの数に盎接比䟋したす。

それずは別に、新しいプロゞェクトを遞択するか、既存の゜リュヌションを開発するかの問題がありたす。 この遞択はりェブプログラマヌに重くのしかかりたす-りェブ䞊のプロゞェクトの倧郚分は非垞に兞型的であり、cms、りェブショップ、゜ヌシャルネットワヌクなどの゚ンゞンがありたす。䞀芋、ToRの芁件に察する既存の゜リュヌションを完成させるこずは垞に論理的であるようですれロから自転車。 これは、耇数のプロゞェクトが同じ゚ンゞンで連続しお実行された埌、迅速か぀゚レガントに実行された埌、特に論理的に思えたす。 ただし、アヌキテクチャの制限や掟手なレむアりト、たたは䜜業が完了した埌にすべおが機胜する速床にずどたっお、やけどする可胜性がありたす。 私の経隓では、経隓則から掚枬したした-私の掚定によるず、プロゞェクトに1か月以䞊かかる堎合は、れロから䜜成するか、䞀般的なフレヌムワヌクで䜜成する方が良いでしょう。 たあ、最高-私はより良いです、あなたはあなたが働いおいるものに応じおあなたのルヌルを導き出す必芁がありたす。

libxmlぞのバむンディングを䜿甚するよりも、正芏衚珟でxmlを解析する方が奜たしい堎合があり、䞀芋シンプルなオンラむンストアを曞くこずは、PrestaShopに基づくよりもYiiの方が簡単であるこずを芚えおおいおください。 もちろん、すべおが私たちの前にすでに発明されおいたすが、このすべおが䟿利に䜿甚できるようにコヌドに組み蟌たれおいるわけではありたせん。





テクノロゞヌの最前線


ITの䞖界で信頌性を獲埗する最も簡単な方法の1぀は、トレンドに埓うこずです。 トレンドに参加するのは早ければ早いほど良いです。 トレンドが実際にどれほど効果的であるかを考えお確認するず、最前線にいるこずはできず、シニアブリヌド゚ッゞデベロッパヌの名誉称号は衚瀺されたせん。 私は新しいものが悪いず蚀っおいるのではなく、新しい技術を適甚するこずで競合他瀟を打ち負かすのに圹立぀ず信じおいたすしかし、良いセヌルスマネヌゞャヌや優れたナヌザビリティはあなたに倧きなチャンスを䞎えるず私は考えおいたす有胜な建築よりもチャンピオンに勝぀。 プロゞェクトに新しいフレヌムワヌクを遞択する前に、次のこずを確認しおおくず䟿利です。



繰り返したすが、すでに十分にテストされ、コミュニティがあり、䞀般的にどこでも䜿甚されおいるXテクノロゞヌを䜿甚しおいる堎合、新しいYテクノロゞヌを遞択した理由に泚意しおください。





理論ず実践


私は長い間ここに䜕を曞くべきかを考えたしたが、どういうわけかそれはあたりにボリュヌムがありすぎるか、あたりにも具䜓的であるこずが刀明したした。そのため、倚くの人は私がいく぀かの技術ずアプロヌチのむデオロギヌの反察者であるず考えおいたでしょう。 したがっお、私は自分自身を5点に制限したす。



必芁に応じお理解しおください。 そしお、オリンピアヌドず産業甚プログラミングの違いを芚えおおいおください。





間違えないように


経隓は難しい間違いの息子です。 そしお、経隓がないずきに䜕をすべきか、しかしあなたは間違いを避けたいですか ここでは、ピックアップブックが䜿甚されたす。 そしお、あらゆる皮類のベストプラクティスをプログラミングする堎合。 これを読んで、少なくずも優れたコヌドのルヌルのセットを芚えたら、コヌドを曞いお、誰かが䜕かが間違っお曞かれおいるこずをあえお非難しないようにするこずができたす。 これは玠晎らしい。 同時に、すべおにお金を払わなければならないずいう事実を芋逃しおいたす。 テクニック単玔なテクニック以倖が必芁になるたで、テクニックを効果的に䜿甚するこずはできず、ほずんどの堎合、時間がかかりたす。 数十のphpりェブサむトの構築に成功した昚日の孊生が「Perfect Code」を読み、これをすべお実際に䜿甚しようずするず、コヌドの品質は䞀郚の堎所で改善されたすが、おそらく圌の䜜品は成功したす。 そしお、本からの抜象的な構成が実際の緎習からの察応を芋぀けるたで、圌が倧きなプロゞェクトで熊手を自分で歩くたでです。 そうしお初めお、䜕を、い぀、なぜ䜿甚するのかが理解できたす。

しかし、ルヌツから戻らないでください。同じ孊生の倚くは、数幎以䞊の経隓を積んでおり、コピヌペヌストや手続き型プログラミングは呌び出すこずができないものの䞀぀であるず信じ始めたす。 理由は同じです-間違いの恐れ。 残念ながら、今ではコミュニティはタスク甚のツヌルを芋぀けるよりも適切な゜リュヌションを䜿甚する方が受け入れられおいたす。

間違いをするこずを恐れないでください。 あなたがそれがあなたに評刀ず仕事の損倱を犠牲にしないず確信しおいるならば。





ティムリッド-私たちの王、父、神


圓然のこずながら、この蚘事党䜓は、チヌムリヌダヌが異なるチヌムで䜜業しなければならなかったずいう事実に觊発されたした。各チヌムリヌダヌは、コヌドを正しく蚘述する方法に぀いお独自のアむデアを持っおいたした。 それらはすべお詳现に正しいものでしたが、問題は、これらの詳现がそれぞれの詳现ず倧きく異なっおいたこずです。 さらに、パブの同じテヌブルでそれらをすべおたずめおから、呜什型プログラミングず関数型プログラミングの比范の行に䌚話を転送する堎合、たたは䟝存性泚入ず叀き良きファクトリヌの違いに぀いお話す堎合は、ガヌドの介入なしでは行わないず想定するリスクがありたす。

すべおのチヌムリヌダヌも人であり、プロゞェクトのいく぀かを実斜するこずで埗られた独自の信念ず知識を持っおいたす。 時にはそのような信念は真実であり、時にはそうではありたせん。 堎合によっおは、なぜそれを行う必芁があるのか​​を理解するためのタスクにただ盎面しおいないずいう事実のために、埌者があなたに芋えるかもしれたせん。 いずれにせよ、チヌムリヌダヌが自分の芁件ずしお蚀うものはすべお取り入れおください。本圓に良いこずではありたせん。 圌のアドバむスが実践テストに合栌した堎合-玠晎らしいが、そうでない堎合は、この皮の゚ラヌを人に玍埗させるのは通垞圹に立たない。





おわりに


良いデザむンのための普遍的なルヌルはありたせん。 状況に有益なルヌルがありたす。 そのような状況がたくさんあるずしおも、か぀お圹立ったルヌルが圹に立たなかったずきに他の人に出䌚わないずいう意味ではありたせん。 そしお、なぜこの問題に察する別の゜リュヌションではなく、この特定の゜リュヌションを遞択したのかを自問するこずを忘れないでください。



All Articles