Sebagai hipotesis, jika saya akan mewawancarai seseorang untuk posisi pengembang PHP baru ketika pengalaman saya di. NET, bagaimana saya bisa menentukan apakah sampel kode yang mereka berikan kepada saya efisien dan berkualitas baik?
Dengan kata lain, apa cara terbaik untuk mengevaluasi kode programmer jika Anda tidak terbiasa dengan bahasa tersebut?
code-quality
interview
code-reviews
Jason Towne
sumber
sumber
Jawaban:
Hal-hal yang Anda tidak akan dapat mengevaluasi adalah penggunaan idiom bahasa dan penggunaan perpustakaan yang benar. Jadi, ini bukan hal yang harus Anda coba lihat.
Yang dapat Anda evaluasi adalah:
Poin di atas (meskipun tidak lengkap) akan menunjukkan apakah kode berbau atau tidak dan harus menjadi sesuatu yang dapat diidentifikasi oleh programmer berpengalaman sebagai baik atau buruk.
Singkatnya - cari hal-hal yang menunjukkan kode yang baik terlepas dari bahasa.
sumber
Mintalah mereka membuat bagan alur atau memandu Anda melewatinya sebagai bagian dari wawancara. Anda memiliki alasan yang sempurna untuk bertanya dan itu memberi tahu sedikit tentang bagaimana mereka berpikir untuk melihat bagaimana mereka menjelaskan.
Jika mereka akan melompat ke bahasa pilihan Anda, Anda tahu Anda memiliki banyak mentoring yang datang sehingga Anda harus mencari logika / kemampuan berpikir yang baik di atas segalanya.
Jika mereka akan tetap bekerja dalam bahasa pilihan mereka, Anda harus menerima bahwa mereka akan mengatur diri saya sendiri pada detail spesifik bahasa yang lebih halus sampai orang lain tetap mempercepat, jadi Anda semua harus berinteraksi dengan adalah sisi desain di sana juga.
sumber
Mengesampingkan kode yang jelas / salah, efisien sebagian besar akan bergantung pada kompiler / juru bahasa yang bersangkutan, dan Anda tidak akan benar-benar dapat melihatnya dari sampel kode. Contoh kode dapat ditulis dengan indah dan elegan seperti porselen halus pada doilies tetapi berjalan lambat jika dikompilasi / diinterpretasikan dengan buruk.
Anda tidak akan dapat mengevaluasi penggunaan fitur bahasa / gula sintaksis / konvensi secara idiomatis tanpa keakraban.
Anda harus dapat mengetahui apakah itu ditulis dengan baik secara umum berdasarkan pertimbangan universal seperti kerapian, aliran kontrol, penamaan variabel, urutan operasi, dan sebagainya.
Namun, lebih praktisnya, jika Anda tahu bahasa apa yang akan digunakan dalam proses, Anda dapat mencoba menemukan satu atau lebih panduan gaya untuk bahasa itu, pergi ke toko buku dan balik melalui beberapa buku untuk bahasa itu dan membaca sekilas contoh kode yang mencari analog dengan sesuatu yang Anda kenal dengan bahasa pilihan Anda, periksa satu atau lebih proyek sumber terbuka yang menggunakan bahasa itu, dan sebagainya.
Jika Anda punya waktu dan jika tidak ada penghalang biaya, Anda mungkin bahkan melangkah lebih jauh untuk mengatur lingkungan pengembangan untuk bahasa itu dan mengeluarkan aplikasi Hello World, melakukan kata sandi, atau menulis aplikasi kecil sederhana di dalamnya. Anda akan mengembangkan kerangka referensi yang belum sempurna dengan cepat dan tidak hanya akan memberi Anda dukungan untuk tujuan khusus meninjau kode yang dimaksud, Anda mungkin akan terdorong oleh bahasa dan sedikit bercabang.
sumber
Terlepas dari bahasa:
Tidak mengatakan bahwa kode apa pun yang tidak memiliki semua ini secara otomatis buruk, tetapi saya menganggap ini sebagai indikator seseorang yang telah merenungkan dan mempertimbangkan praktik mereka.
Namun, untuk semua indikator ini, Anda harus bertanya seperti apa rasionya menjadi seperti itu. Mungkin ada alasan bagus, khusus bahasa untuk pilihan mereka ... dan setelah itu, google adalah teman Anda ketika mereka dan kandidat lainnya pergi, karena Anda dapat memeriksa apakah apa yang mereka katakan terdengar masuk akal ...!
Semoga beruntung, karena mempekerjakan orang baik adalah salah satu peran paling penting dalam organisasi Anda;)
sumber
Anda harus bertanya kepada seseorang yang tahu bahasa yang dimaksud untuk datang ke wawancara atau melihat sampel. Orang seperti itu akan lebih mungkin menemukan titik-titik buruk jika ada.
Apakah kandidat akan bekerja dalam tim? Biarkan anggota tim menemuinya dan mengajukan pertanyaan tentang keahliannya.
sumber
Tanyakan kepada mereka tentang batasan yang mereka temui saat menggunakan bahasa. Minta mereka untuk menunjukkan kepada Anda permintaan SQL sederhana. Dev Php apa pun yang patut dicoba harus dapat mengeluarkan kueri pemilihan / pembaruan / penghapusan dasar tanpa terlalu banyak usaha.
doug
sumber