仮説として、私の経験が.NETであるときに誰かに新しいPHP開発者の面接を依頼した場合、彼らが提供したコードサンプルが効率的で質が良いかどうかをどのように判断できますか?
言い換えれば、言語に慣れていない場合にプログラマーのコードを評価するための最良の方法は何ですか?
仮説として、私の経験が.NETであるときに誰かに新しいPHP開発者の面接を依頼した場合、彼らが提供したコードサンプルが効率的で質が良いかどうかをどのように判断できますか?
言い換えれば、言語に慣れていない場合にプログラマーのコードを評価するための最良の方法は何ですか?
回答:
彼らから提供されたコードサンプルが効率的で品質が良いかどうかをどのように判断できますか?
評価できないものは、言語イディオムの正しい使い方とライブラリの使用法です。したがって、これらはあなたが見ようとするべきものではありません。
評価できるものは次のとおりです。
上記のポイント(網羅的ではありません)は、コードの匂いがするかどうかを示し、経験豊富なプログラマーが良いか悪いかを識別できるものでなければなりません。
つまり、言語に関係なく、適切なコードを示すものを探します。
フローチャートの作成を依頼するか、インタビューの一部として説明してもらいます。あなたが尋ねるのに最適な言い訳があり、それは彼らが彼らがどのように説明するかを見るために彼らがどのように考えるかをかなりビットに伝えます。
彼らがあなたの好みの言語にジャンプしようとしているなら、あなたはたくさんのメンタリングが来ていることを知っているので、とにかく何よりも優れた論理/推論スキルを探すべきです。
彼らが優先言語で作業を続ける場合、他の誰かがとにかくスピードアップするまで、細かい言語固有の詳細についていくらか自己管理してくれることを受け入れる必要があります。とは、デザイン面でもあります。
骨のある/明らかに間違ったコードは別として、効率は主に問題の言語のコンパイラ/インタープリターに依存し、実際にコードサンプルからそれを見ることはできません。コードサンプルは、ドイリーのファインチャイナのように美しく書かれ、エレガントですが、コンパイル/解釈が不十分な場合、実行が遅くなります。
ある程度の知識がなければ、言語機能/構文糖/慣習の慣用的な使用法を評価することはできません。
整頓、制御フロー、変数の命名、操作の順序などの一般的な考慮事項に基づいて、一般的に適切に記述されているかどうかを判断できるはずです。
ただし、より実用的には、プロセスに使用される言語がわかっている場合は、その言語のスタイルガイドを1つ以上見つけて、書店に行き、その言語の本をいくつか読んでみてください。選択した言語でおなじみの類似物を探してコード例をざっと読み、その言語を使用する1つ以上のオープンソースプロジェクトをチェックしてください。
時間に余裕があり、コストの障壁がない場合は、その言語の開発環境をセットアップして、Hello Worldアプリを作成したり、コードカタを実行したり、その他の単純な小さなアプリを作成したりすることもできます。初期化。基本的なリファレンスフレームをすばやく作成することができます。これにより、問題のコードを確認するという特定の目的のための足がかりが得られるだけでなく、言語に強いられて少し分岐してしまうかもしれません。
言語に関係なく:
これらすべてを備えていないコードはすべて自動的に貧弱であると言っているわけではありませんが、私はこれらを彼らの実践を反映し、検討した誰かの指標であると考えます。
ただし、これらすべてのインジケーターについて、コードがそのようなものである理由は何であるかを尋ねる必要があります。彼らの選択には、言語固有の適切な理由がある可能性があります...その後、彼らと他の候補者が去ったとき、Googleはあなたの友達です。
幸運、良い人を雇うことはあなたの組織で最も重要な役割の1つです;)