Saran umum
Inilah intinya, menurut saya:
- Jika Anda tidak tahu bahasa dengan cukup baik untuk mengetahui fitur dan idiom umum , Anda mungkin tidak akan berkontribusi banyak pada ulasan.
- Jika Anda ingin mempelajari fitur dan idiom bahasa, Anda dapat berpartisipasi dalam ulasan. Fokus Anda harus mengamati idiom dan mengajukan pertanyaan tentang pola dan organisasi yang tidak masuk akal bagi Anda. Ini dapat membantu mengidentifikasi area masalah, tetapi hanya dalam arti bahwa Anda mungkin memaksa pengembang untuk mempertahankan apa yang telah mereka lakukan. Ajukan pertanyaan Anda dengan cara yang memberi ruang bagi celah Anda dalam pengetahuan. Perhatikan bahwa ini mungkin berakhir dengan biaya bersih dalam ulasan itu sendiri, tetapi biaya itu merupakan investasi dalam pengetahuan Anda.
- Kemampuan Anda untuk berkontribusi sampai Anda membiasakan diri dengan fitur, idiom, dan standar bahasa akan terbatas. Saya tidak akan berharap ini berubah sampai Anda benar-benar menulis sejumlah besar kode dalam bahasa tersebut.
Pertimbangan dan contoh spesifik Python
Untuk situasi spesifik karena tidak mengetahui Python, saya akan sangat waspada terhadap hal ini. Python memiliki banyak idiom dan praktik standar yang akhirnya membuat Python yang baik terlihat sangat berbeda dari apa yang mungkin Anda harapkan dalam bahasa lain. (Memang, saya pikir hal-hal yang ditekankan Python telah membuat kode saya terlihat lebih baik dalam bahasa lain , dan bukan sebaliknya.) Di luar PEP8 memiliki contoh yang baik tentang bagaimana Anda mungkin benar-benar kehilangan pola pikir yang didorong Python.
Mari kita lihat contoh sederhana. Ambil kode ini:
f = open('/home/me/something.txt')
try:
content = f.read()
finally:
f.close()
Lihat masalah dengan kode ini? Jika Anda belum pernah bekerja dengan Python, Anda mungkin tidak. Masalahnya adalah bahwa ada banyak gaya disukai di Python yang melakukan persis hal yang sama:
with open('/home/me/something.txt') as f:
content = f.read()
Ini adalah manajer konteks. Apakah Anda tahu apa gunanya? Apakah Anda tahu kapan akan tepat untuk menggunakannya? Apakah Anda tahu kapan waktu yang tepat untuk membuatnya sendiri? Tidak? Maka Anda mungkin belum siap untuk meninjau Python.
Mari kita lihat contoh lain.
def add_fifty(other_list):
result = list()
for i in other_list:
result.append(i + 50)
return result
x = range(10)
y = add_fifty(x)
Lihat masalahnya? Masalahnya adalah metode ini sama sekali tidak perlu . Anda mungkin harus menggunakan pemahaman saja, ketika operasi ini sesederhana ini:
x = range(10)
y = [i + 50 for i in x]
Jika Anda tidak melihat itu, Anda tidak terbiasa dengan fitur dan idiom Python.