手動でスクリプトを作成するのではなく、スクリプトを作成するタイミングを決定する方法
-
22-07-2019 - |
質問
時には、自動化または手動化が可能な何かをする必要があると感じます。例えば。特定のスクリプトを8回実行しただけで、実行のたびに小さな変更が加えられました。確かにこれを自動化するスクリプトを作成できたかもしれませんが、この例では毎回手動で実行する方が速いと判断しました。
しかし、手動で何かをすることに多くの時間を費やした後、そもそもそれを自動化する方がよかったと気づくことがあります。
繰り返しプロセスを開始する前に、スクリプトを記述して自動化する時間を費やす価値があるかどうかを判断するのに役立つ経験則に関する提案はありますか?
説明のために:私が話しているのは、ファイルの移動、名前の変更などのsysadminタイプのものと、特定のデータをインポートするSQLスクリプトの実行などのDBAタイプのものです(これは私が今日やっていた)。私はシステム管理者やDBAではなく、開発者であることに注意してください。
解決
スクリプトを作成する理由は次のとおりです
いつ:
-
2回目の実行
-
複数のステップになります
-
間違いを犯しやすい
-
手動で行う方法を忘れがちです
他のヒント
" 3回のストライキと自動化"のファンです。そのリンクで説明されているルール。
自動化プロセスで見られる、または見られない時間の節約だけを考えないでください。また、プロセスを手動で実行するとエラーが発生する可能性を考慮してください。
適切に行われれば、自動化されたプロセスによりエラーの可能性が最小限に抑えられます。これにより、正味時間が節約されない場合でも、自動化される場合があります。
もちろん、これの反対は、プロセスが自動的に実行されている場合です。プロセスを追跡し続け、プロセスが軌道に乗っていないことを確認してください。
もちろん、スクリプトを作成する理由の1つは、スクリプトを作成するという行為は、タスクを1回でも実行するよりも楽しいためです。
多くのオタクにとって、賢くて楽しくて面白いことをすることは、他の利益よりも重要です。そのため、この場合、タスクを手動で行うよりも時間がかかりますが、タスクの自動化はこれらの基準を十分に満たす可能性があります!
システム管理が1つある場合 真実、それはこれです:単純なシステム管理者 タスクは2回以上楽しいです。もし、あんたが 単純な退屈な仕事をしている自分を見つける 2回以上、自動化します。
- http://www.ibm.com/developerworks /linux/library/l-punix.html
繰り返し実行する操作のセットが常に同じ場合、自動化によりエラーの原因が減少します。
2、3年前に(asp.net)プロジェクトの1つで始めたとき、3つの書かれたページをカバーする手動リリースプロセスがありました。その作業を段階的にビルドバッチファイルに移行しました(コマンドラインオプションなどを使用して、単一の操作またはすべてを選択します)。
スクリプトが完了すると、問題なく実行され、実行ごとに1時間の手作業が省けました。
そして、時には、それはスクリプトを書くだけの楽しみです;)
これは開発者向けのサイトです。
同じことをもう一度行う必要があると思われる場合は、今すぐ自動化してください。しかし、YAGNI(You A't Gonna Need It)のような法律を忘れずに、自動化に時間をかけすぎないようにしてください。ちょっとした説明で、今あなたに合ったものを手に入れてください。
次回は、リファクタリングして改善しますが、ほんの少しです。 YAGNIを思い出してください。
3回目は、いくつかの入力を行うことができる素敵な小さなパッケージで試してみてください。エラー状態で賢明な処理を実行し、エラーをログに記録します。
そして、うまくいけば、シェルスクリプトではなく、Pythonのような実際のスクリプト言語を使用して、コードを微調整して使用するたびに、リモートで実行および管理できる本格的な自動化フレームワークになるまで使用できるようになります1回の呼び出しで数千のサーバー。
私の経験則:
- 面倒な場合は、少し時間をかけて、自動化の方法、どれだけの作業が必要か、どれだけの作業があなたを救うかを考えてください。
- 自動化が非常に簡単な場合、または明らかに多くの作業を節約できる場合は、すぐに自動化を開始してください
- 自動化しないことを決定し、手動でそれを行うのは面倒になります苦痛になります、または自動化することを決定したが困難に陥った場合は、今より長く考え直してください。
私のルールは簡単です。長い目で見れば、手動で行うかスクリプトを書く時間を節約できますか。
特定のタスクを数回だけ実行する必要があり、その後二度と実行する必要がない場合、おそらくスクリプトを作成する価値はありません。ただし、わずかな変更のみでタスクを繰り返し実行する必要がある場合は、スクリプトを作成すると時間を節約できます。
優秀なプログラマーは、労力と時間を最小限に抑えて物事を行おうとする点で、怠け者になる傾向があります。したがって、総時間の労力を節約できるのであれば、それだけの価値があるかもしれません。
私のルールは次のとおりです。もう考える必要がなくなったときにスクリプトを作成します。まだマインドフルにやっている、まだプロセスについて何かを学んでいる、または結果に特に興味があるなら、スクリプトを書かないでください。しかし、何かを成し遂げるためにあなたがしなければならないことになり、それを行うのが面倒な場合は、それから地獄を台無しにしてください。