Singkatnya, cara terbaik untuk belajar umumnya untuk bergaul dengan seseorang yang Anda bisa belajar dari . Jika Anda merasa keterampilan Anda tidak maksimal, bergaul dengan orang-orang yang lebih baik daripada Anda adalah yang terbaik yang dapat Anda lakukan. Tentunya jauh lebih baik daripada menarik diri dan mengisolasi diri lebih jauh.
Namun, saya pikir Anda sedang melukis gambar yang sangat sederhana dan menyesatkan. Jauh dari semua programmer "yang diajarkan secara profesional" benar-benar ada gunanya. Hanya karena mereka melakukan sesuatu tidak selalu berarti itu adalah hal yang benar untuk dilakukan.
Dan banyak (tetapi tidak semua) dari apa yang Anda katakan benar-benar terdengar seperti Andalah yang bisa mengajari mereka satu atau dua trik.
Saya condong ke sisi Fungsional lebih dari OO, tapi saya melihat penggunaan OO ketika sesuatu akan lebih masuk akal sebagai entitas abstrak.
Kedengarannya bagus bagi saya. Coders terbaik adalah mereka yang menggunakan alat yang tepat untuk pekerjaan itu. Saya selalu memilih seseorang yang tahu kedua paradigma, dan menggunakan masing-masing dari mereka di mana masuk akal dibandingkan seseorang yang secara religius hanya menggunakan satu paradigma.
Selanjutnya saya juga pergi rute sederhana ketika melakukan sesuatu. Sebaliknya, sepertinya kadang-kadang kode yang saya lihat dari programmer profesional rumit untuk itu!
Sekali lagi, kesederhanaan itu baik . Jangan membuat kode Anda yang kompleks sampai perlu menjadi kompleks. Beberapa orang yang cenderung membuat hal-hal yang kompleks dari beberapa ide sesat elegan, atau karena "kita akan membutuhkan fungsi tambahan ini nanti". Secara umum, lebih baik melakukan hal paling sederhana yang menyelesaikan masalah Anda.
Saya menggunakan banyak penutupan. Baik. Itu sebabnya mereka ada di sana. Mereka benar-benar menakuti beberapa orang yang terjebak dalam model kuasi-OOP yang sudah ketinggalan zaman dan Jawa, tetapi sungguh, itulah masalah mereka.
Dan terakhir, saya bukan komentator terbaik.
Apa yang harus dikomentari, dan bagaimana, sangat subjektif. Tidak ada "benar" atau "salah" yang nyata di sana, tetapi ketika mengerjakan sebuah tim, penting untuk menulis kode yang dapat dipahami oleh seluruh tim, dan bukan hanya pembuat kode. Dan terkadang, kompromi harus dilakukan agar sesuai dengan gaya pengkodean tim. Itu tidak berarti bahwa Anda harus menulis lebih banyak komentar, itu hanya berarti bahwa itu adalah sesuatu yang harus Anda dan tim Anda setujui.
Saya mendengar programmer yang terlatih secara profesional terus-menerus tentang hal-hal seperti tes unit. Sesuatu yang belum pernah saya gunakan sebelumnya, jadi saya bahkan tidak tahu sama sekali tentang apa itu mereka atau bagaimana mereka bekerja.
Nah, tanya mereka. :) Menguji kode Anda sangat penting, dan unit test adalah alat yang populer dan berguna untuk ini.
Banyak dan banyak garis bawah "_", yang sebenarnya bukan seleraku.
Seperti komentar, itu subjektif, dan tergantung pada bahasanya. Dalam C dan C ++, lowercase_with_underscores
adalah konvensi penamaan yang cukup umum. Dalam banyak bahasa lain, Anda sebenarnya tidak akan pernah melihat garis bawah. Tetapi pada akhirnya, itu benar-benar tidak penting. Apakah suatu fungsi dipanggil write_to_log
atau WriteToLog
tidak, sebenarnya akan membuat perbedaan. Seseorang harus hanya menghisapnya dan menyesuaikan diri dengan apa yang telah disepakati tim di sana.
Tidak tahu apa-apa tentang MVC, saya sudah mendengar banyak hal tentang hal-hal seperti backbone.js. Saya pikir ini adalah cara untuk mengatur aplikasi. Tapi itu membingungkan saya karena sekarang saya sudah membuat struktur organisasi saya sendiri.
Seperti halnya tes unit, jangan pernah berhenti belajar. Anda bekerja bersama orang-orang yang tahu hal-hal yang tidak Anda ketahui, dan yang berasal dari latar belakang yang berbeda dari Anda. Belajar satu sama lain. Jelas ada hal-hal yang dapat Anda ajarkan kepada mereka, tetapi ada juga hal-hal yang tidak Anda ketahui, atau belum pernah Anda dengar, yang dapat mereka ajarkan kepada Anda. Itu tidak berarti Anda (atau mereka) adalah programmer yang buruk. Ini berarti bahwa seorang programmer yang baik adalah orang yang berusaha untuk meningkatkan, dan belajar dari orang lain.
Pemrograman OO lengkap benar-benar meninggalkan rasa tidak enak di mulut saya
Sama di sini, dan saya adalah apa yang Anda sebut "terlatih secara profesional" (gelar CS). Orang-orang yang telah diajarkan pemrograman berbeda seperti halnya orang-orang yang belajar sendiri. Sepertinya Anda bekerja dengan beberapa orang yang benar-benar perlu mempelajari beberapa trik baru.
Bahkan saya agak takut pada kenyataan bahwa orang-orang pada akhirnya akan memeriksa kode saya. Apakah ini sesuatu yang normal yang dialami oleh setiap programmer atau haruskah saya benar-benar ingin mengubah teknik saya?
Kedua. Tentu saja menakutkan untuk membuat orang lain melihat (dan menilai) apa yang telah Anda buat. Tapi ini juga sangat mendidik. Mereka dapat memberi tahu Anda apa yang telah mereka lakukan sebaliknya, atau mengapa mereka melakukannya sebaliknya. Mereka dapat membantu Anda meningkat, dan mereka mungkin juga belajar sesuatu sendiri. Tunjukkan pada mereka kode yang memecahkan masalah lebih baik daripada solusi "pilihan" mereka, dan mudah-mudahan mereka akan pergi "oh, itu rapi. Bagaimana Anda tahu untuk melakukan itu? Apa yang Anda sebut ini? Saya harus menggunakan teknik ini sendiri "