TKを使用しないカスタム開発の長所と短所





昨年末、小さなオートメーションの注文が当社に届きました。 上司の友人である起業家は、ヒューマンファクターに起因する大量のエラーにうんざりしており、後続の機械処理のためにレイアウトを準備するプロセスを自動化することを望んでいました。 レイアウトは、AutoCADとPhotoshopで実行されました。 タスクは解決可能で興味深いように見えました。 起業家は肯定的な反応を受けました。 そして、それが何をもたらしたのかを読んでください。



最もせっかちな人は、物語の部分をスキップして、すぐに結論に行くことができます。他の皆のために...私は有益な話をします。



そもそも、問題を解決する根本的な可能性とその解決方法に自信がないため、顧客は望ましい結果を達成するための明確なアルゴリズムを持っていませんでした。 簡単に言えば、彼はレイアウトをカットし、保存し、カッティングテーブルに配置することを望んでいました。 しかし、彼は結果が彼の要件を満たすという基準を持っていませんでした。 これらの同じ要件は存在しませんでした。 実際、必要なデータはすべてありましたが、口コミによって従業員間でやり取りされ、文書化されていませんでした。 この問題は、両方のプログラムでのデザイナーの作業の一貫したデモンストレーションを伴う大規模な共同Skype会議によって解決されました。 2つの別個のスクリプトを作成することが決定されました。 1つは、Lisp上のAutoCADのジオメトリジオメトリデータをXMLにエクスポートするためです。 2番目は、レイアウトテンプレートを生成し、Photoshop用のJavaScriptでスライスするためのものです。 TKの役割を果たす重要なポイントの説明を含むワークフローフローチャートが作成されました。 すべてが順調に始まりました。



ところで、AutoCADでスクリプトを作成するために、30日間の試用版がインストールされました。 インターネット経由で自動車CADを購入することは不可能であり、公式の販売代理店に行く必要があることが判明しました。 Photoshopは毎月の支払いで購入されました。



次に、冬休みが来て、時間と費用、前払いに同意しました...一般に、プログラマーの観点からの退屈。 しかし、明確なTKの欠如はすでにここで役割を果たしました。 これについては後で詳しく説明します。



一般に、作業を直接開始したとき、AutoCADの試用期間は終了しました。 この四半期のオートクォータのサブスクリプションを購入する別の試みが行われました。 しかし、彼女は再び7から14日間の物理的な配達でcrash落しました。 この質問はTKのトピックには当てはまりませんが、本当にオートデスクの方向に石を投げたいです。 以前のバージョンのプローブを配置する必要がありました。



AutoCAD内のタスクに関しては、顧客の設計者がすべての質問に献身的に助けて回答したため、非常に明瞭でした。 穀物をもみ殻から分離する方法を決定しました(詳細は物語から)。 コードはほんの数時間で書かれました。 ああ、オートデスク、そしてあなたは私たちに2週間待たせたいと思った。 私たちは、物事がどのようにうまくいっているかについて、まだ陶酔していました。



Photoshopになりました。 準備作業が進行中に、スクリプトだけでなく、拡張機能全体を作成できることが発見されました。 一方では、そのようなことは何も約束しませんでした。 一方で、約束よりもうまくやることはクールです。 すぐに予想外の結論:クライアントが受け取るものについてよくわからない場合、彼はあなたからより多くを受け取ったことに感謝しません。 機会は外出先で研究され、レイアウトやプログラミング中にアイデアが発明され、一掃されました。 複雑さのための何か、怠lazのための何か。 もう1つの結論があります。クライアントが受け取るものについてよくわからない場合、彼はあなたがどこかにたるんだことに気付かないでしょう。 私たちの場合、これは機能性ではなく、設計に関係していました。



最初のリリース後、一部のレイアウトはPhotoshopで正常に形成されたくないことが判明しました。 XMLを解析した後、詳細の一部が無関係な行で構成されていることがわかりました。 したがって、それらはプログラムによって別個の部分として認識されます。 TKがある場合、入り口の条件下では、1つの閉じたポリラインに限定された部分があると言えます。 そして私は同意しなければなりませんでした。 その結果、選択したセグメントを1つの部分に結合するメソッドを作成しました。 もちろん下車しやすいです。 しかし、1時間のプログラミング時間とそれ以前の時間でさえ、理由の検索に費やされました。 そして、顧客が休息し、部品の検索が問題であり、デザイナーが何も強調しないと言ったら...ここで、線を整理し、交差点を検索し、T字型交差点を解決し、2つの隣接する形状で1本の線を共有できます。 一般に、彼らも決定しますが、価格は私たちにとって完全に異なります。 したがって、結論:TKはあなたの最高の弁護士です。



もっともっと。 文書は事前に合意された要件に従って作成されているという事実にもかかわらず、顧客はプログラムを本当に信用していませんでした。 そのため、彼は、カットする前にドキュメントが要件に準拠しているかどうかのチェックを追加することを主張しました。 どうやら、彼は設計者が設計プロセス中にドキュメントのパラメーターを変更できるのではないかと心配していました。 これも元の配置ではありませんでした。 タスクは簡単に思えたので、クライアントに会うことにしました。 いくつかの驚きと不健全な完璧主義の結果、テストの作成には4時間かかりました。 したがって、次の結論:TKは、あなた自身からあなたを守ります、あるいは、少なくとも余分なお金を要求するのに役立ちます。



最も重要で最も高価なレッスンは最後に学習されましたが、そのルーツは最初にあります。 契約成立の段階で、部品が切断テーブルにどのように配置されるべきかを説明する文書が、通信文を「通過」しました。 「これは一般的な情報のためのものであり、おそらく必要ないでしょう」というフレーズが付随していました。 注意を払う必要があるのは「最も可能性が高い」ことでした。 ドキュメントはWordで作成され、新しいコンピューターごとに便利なようにクロールされました。 そこに正確に描かれているものを理解することは非常に困難でした。 最後に、説明は「必要ない」と読みました。 実際、この図面の本質は、設計者が裁量で材料の面の1つに沿ってパーツを配置できるという事実に限定されました。 そして、いくつかの典型的な例。 当然、起こるべきではないことはすべて起こらなければなりません。 したがって、主な結論:TKで最も信じられないオプションとそのソリューションのコストを説明してください。 おそらく、顧客はこれを手動で行うことを好むでしょう。



なぜこれをすべて書いているのですか? そして、TKなしでの作業には多くのマイナス面といくつかの利点があるという事実に、主なことはすべてのために準備することです。



短所:





長所:





もちろん、記載されている「プラス」は冗談です。 間違いを繰り返さず、常に明確で明確なTKに取り組むよう、皆さんにお願いします。 自由が必要な場合は、TKで記述してください。 責任とイニシアチブをそこに書いてください。 信頼できる誠実なパフォーマーとしての評判とTKの編集のために、より多くのお金を要求してください。 TKの編集に費やされた時間と労力は、完成段階で保存された健康と神経で報われます。 さて、Habrの読者の頭が完全に「調理されている」ことは疑いありません。



すべてのプロジェクトと有能なプロジェクトに興味があります。 タスク!



All Articles