Haruskah Programer Junior dilibatkan sebagai peninjau kode dalam proyek Programer Senior?


55

Salah satu anggota tim saya, seorang programmer junior, memiliki keterampilan pemrograman yang mengesankan untuk tingkat pengalamannya.

Dan selama ulasan kode, saya percaya dalam menekankan pembelajaran, tidak menunjukkan kesalahan.

Tetapi haruskah programmer junior dilibatkan dalam tinjauan kode untuk programmer yang lebih senior? Atau haruskah tinjauan kode dihadiri hanya oleh programmer dengan pengalaman yang sesuai?


54
Tentang apa semua hal "junior" dan "senior" ini? IMO, apakah seorang programmer memenuhi syarat untuk meninjau kode orang lain harus ditentukan sesuai dengan kemampuan dan pengalaman - bukan judul ....
Anthill

23
Dan Judul biasanya harus ditentukan sesuai dengan kemampuan dan pengalaman. Jika junior itu cukup baik untuk meninjau kode senior, saatnya untuk mengubah judul mereka.
superM

18
Namun terkadang gelar ini ditentukan oleh politik dan permainan SDM :)
Michal Franc

4
Apa, tepatnya, yang Anda maksud dengan "programmer junior"? Apakah orang-orang ini kurang berpengalaman dalam aplikasi atau kurang berpengalaman dalam industri? Dalam pengalaman saya, mungkin untuk memiliki anggota staf junior menjadi orang yang paling berpengalaman dalam proyek tertentu karena mereka telah mengerjakannya paling lama atau paling baru.
Thomas Owens

4
@ThomasOwens, Oleh "programmer junior", maksud saya adalah orang-orang yang kurang berpengalaman dalam industri.
Md Mahbubur Rahman

Jawaban:


62

Tujuan utama dari tinjauan kode adalah untuk menemukan cacat atau masalah potensial. Peserta yang diminta dalam peninjauan harus orang-orang yang paling cocok untuk mengidentifikasi masalah-masalah ini, terlepas dari jabatan atau senioritas mereka.

Sebagai contoh, jika aplikasi sedang dikembangkan dalam Python dan insinyur junior memiliki lebih banyak pengalaman dengan bahasa Python daripada insinyur senior yang menulis kode, maka mereka mungkin menjadi aset berharga dalam menunjukkan metode alternatif dalam melakukan sesuatu, tetapi mereka mungkin juga kurang memiliki pengetahuan tentang sistem secara keseluruhan.

Selain pengalaman dalam alat dan teknologi, pertimbangkan juga pengalaman dalam domain aplikasi. Seseorang dengan pengalaman 20 tahun tetapi hanya 1 atau 2 dalam industri keuangan dapat dibantu dengan memiliki pengembang yang kurang berpengalaman secara keseluruhan dengan hanya 5 tahun pengalaman, semua dalam industri keuangan meninjau karyanya.

Mengundang anggota staf yang kurang berpengalaman untuk mengamati dan berpartisipasi sebanyak mungkin proses peninjauan kode mungkin juga bermanfaat untuk memungkinkan mereka mempelajari basis kode, mengajukan pertanyaan, dan belajar tentang apa yang diharapkan dari mereka tidak hanya dalam tinjauan kode, tetapi dalam kode yang mereka hasilkan. Namun, Anda mungkin tidak ingin terlalu banyak orang yang terlibat (sebagai gantinya berfokus pada orang-orang yang dapat sepenuhnya mendukung tinjauan kode dan tujuannya) dalam proses.

Ini benar-benar berlaku untuk segala jenis tinjauan - persyaratan, desain, kode ...


4
+1 untuk "Peserta yang diminta dalam peninjauan harus orang-orang yang paling cocok untuk mengidentifikasi masalah ini, terlepas dari jabatan atau senioritas mereka." Dan juga untuk jawaban yang sangat bagus.
Md Mahbubur Rahman

60
"Tujuan utama dari tinjauan kode adalah untuk menemukan cacat atau masalah potensial." Sepenuhnya tidak setuju. Tujuan utama tinjauan kode adalah berbagi pengetahuan; tujuan kedua dari tinjauan kode adalah menetapkan standar pengkodean; bug apa pun yang ditemukan selama peninjauan lebih merupakan keberuntungan daripada penilaian. programmer.97things.oreilly.com/wiki/index.php/Code_Reviews
pdr

8
@ pdr Suatu standar pengkodean harus ditetapkan dengan baik sebelum baris kode pertama ditulis. Jika Anda menggunakan ulasan untuk menetapkan standar, sudah terlambat. Ini mungkin saat yang tepat untuk menyesuaikan standar pengkodean saat Anda sedang mengembangkan - Anda dapat menggunakan ulasan untuk menunjukkan kelemahan atau menyarankan peningkatan pada standar, tetapi saya tidak dapat membayangkan memulai proyek pengembangan tanpa standar (bahkan jika itu hanya pedoman bahasa yang disarankan).
Thomas Owens

5
Bagaimana Anda tahu apa yang harus dimasukkan ke dalam standar pengkodean sebelum proyek dimulai dan menjadi jelas (melalui tinjauan kode) bahwa anggota tim yang berbeda mendekati masalah yang sama dengan cara yang berbeda? Kami tidak berbicara tentang casing pada nama metode, di mana umumnya ada standar bahasa, kami berbicara tentang hal-hal seperti NUnit vs MSTest; pola penyimpanan; kemampuan untuk mengatakan "Hei, saya sudah menulis pembungkus untuk klien WCF. Lihatlah milik saya, ambil yang terbaik dari masing-masing dan menjadikannya standar." Hal-hal ini hanya berasal dari tinjauan kode dan merupakan alasan terbaik untuk melakukannya.
pdr

4
Kerangka kerja unit-test mungkin merupakan contoh yang buruk, tetapi umum untuk mengatakan, dua perkembangan yang berbeda membutuhkan file untuk di-unzip. Dua pengembang yang berbeda dapat menggunakan perpustakaan yang berbeda karena mereka telah menggunakannya sebelumnya. Anda tidak dapat memiliki SEMUA diskusi ini di muka atau Anda akan lebih sering rapat daripada pengembangan. Berbagi pengetahuan, melalui tinjauan kode, adalah satu-satunya hal terpenting untuk memastikan masalah ini tidak menyebar.
pdr

81

Haruskah programmer junior dilibatkan sebagai peninjau kode dalam proyek programmer senior?

Ya mereka harus. Merupakan pengalaman belajar yang baik untuk membaca kode orang lain. (Dan itu berlaku untuk kode baik dan buruk. Meskipun orang berharap bahwa kode pengembang senior tidak akan buruk ...)

Jelas, tidak bijaksana jika hanya junior yang melakukan tinjauan kode. Dan tidak bijaksana untuk menaruh harapan terlalu tinggi pada junior dalam hal apa yang bisa mereka temukan. Namun, Anda juga bisa dikejutkan oleh wawasan baru yang bisa dibawa oleh para programmer junior ke meja.


Jawaban lain menyebutkan junior sedang / merasa diintimidasi. Itu BUKAN apa kode meninjau harus tentang ... baik ditinjau atau pengulas. Jika itu terjadi, grup Anda perlu mengubah cara melakukan review kode-nya ... dan mungkin para intimidator perlu ditarik ke dalam barisan.


Saya pikir apa yang dimaksud mouviciel adalah bahwa kode senior dapat mengintimidasi, bukan senior itu sendiri (jika demikian, maka ya, tim memiliki masalah yang lebih serius daripada siapa yang akan meninjau kode).
yannis

6
@YannisRizos - 1) Saya tidak membacanya seperti itu. 2) Di situlah "masuk akal untuk berharap banyak" masuk. Jika kode senior adalah "mengintimidasi", maka sangat baik bagi pengembangan junior untuk mencoba membaca / memahaminya.
Stephen C

1
Mempelajari bagaimana pendapat programmer senior adalah bagian berharga lain dari tinjauan kode untuk pengembang junior. Ketika saya masih muda, kode pengembang junior lebih masuk akal begitu pengembang senior meninjaunya bersama saya.
Michael Shopsin

38

Saya akan menambahkan bahwa jika seorang programmer "Junior" tidak dapat memahami kode senior maka itu sendiri merupakan ukuran yang baik dari kode tersebut. OK mungkin ada saat-saat ketika itu tidak mungkin untuk menulis kode yang dapat dipahami semua orang, tetapi mudah-mudahan itu adalah pengecualian - jika hanya 1 atau 2 orang yang dapat memahami kode maka apa yang terjadi ketika orang-orang itu tidak tersedia dan ada masalah dengan saya t?

Memberi orang tantangan baru membantu mereka berkembang; mungkin juga bahwa tidak semua orang cocok untuk meninjau kode tetapi tampaknya dogmatis untuk bersikeras seseorang memiliki gelar ( ditentukan oleh politik dan permainan SDM ) sebelum mereka memenuhi syarat untuk membantu dalam ulasan.

Seperti orang lain telah menunjukkan review kode bisa menjadi proses dua arah; ini membantu semua orang memahami basis kode, jadi bagikan pengetahuan, itu membantu junior belajar cara dan teknik baru dan lebih baik dari senior mereka dan itu membantu senior memperbaiki pemahaman mereka dan dengan menulis untuk memastikan semua orang dapat mengikuti kode Anda memiliki lebih banyak mata yang dapat menangkap kesalahan.


6
Nah, itu kalimat pembuka yang bagus.
pdr

Jika kode menggunakan teknik yang lebih maju (misalnya menggunakan operasi yang ditetapkan, bukan array dan loop), maka yang terjadi adalah seseorang dalam tim meningkatkan permainan mereka.
kevin cline

1
Ketika melakukan review kode, ini merupakan indikator yang sangat kuat bahwa kode memerlukan satu atau dua komentar jika ada yang bertanya apa yang dilakukan oleh kode tertentu.
Bryan Anderson

24

Tujuan dari tinjauan kode adalah untuk menangkap masalah yang tidak dapat ditangkap pengujian, seperti masalah perawatan dan kasus sudut. Saya berpendapat bahwa dalam banyak hal programmer junior lebih cocok untuk tujuan itu:

  • Mereka memiliki lebih banyak waktu tersedia secara umum.
  • Mereka lebih cenderung mengambilnya secara perlahan, baris demi baris, karena kebutuhan untuk memahami kode.
  • Ketika Anda berbicara tentang kode yang dapat dipelihara, itu berarti oleh semua orang di perusahaan, bukan hanya pemrogram top Anda. Itu berarti programmer junior Anda harus dapat memahami kode untuk menyatakan itu dapat dipertahankan.
  • Mereka lebih kecil kemungkinannya untuk membuat asumsi yang buruk, percaya bahwa sesuatu bekerja dengan cara yang mereka anggap berhasil.
  • Pendidikan mereka dalam bahasa pemrograman lebih baru, dan kecil kemungkinannya akan kacau bersama dengan pengalaman bertahun-tahun dalam bahasa lain. Misalnya, senior mungkin secara tidak sengaja menggunakan kebiasaan yang diambilnya dari C ++ yang mengkompilasi tetapi bekerja secara agak berbeda di Jawa. Junior lebih mudah menangkap kesalahan semacam itu.
  • Peninjau kode hanya perlu mengidentifikasi masalah, belum tentu mengusulkan solusi yang lebih baik. Mereka akan sering berkomentar, "Saya tidak bisa memikirkan cara melakukannya dengan lebih baik, tetapi bagian ini benar-benar membingungkan karena semua pengulangan." Seorang programmer yang lebih berpengalaman dapat dengan mudah melakukan perbaikan meskipun mereka mungkin tidak memperhatikan masalah pada awalnya.

Itu bukan untuk mengatakan tidak ada cara lain di mana programmer senior lebih cocok untuk melakukan tinjauan, tetapi poin saya adalah Anda melakukan tindakan merugikan jika Anda tidak mengambil keuntungan penuh dari keragaman tim Anda.


13

Junior akan sering diminta untuk menjaga kode, sangat penting bahwa mereka dapat memahaminya.

Terkadang junior adalah satu-satunya orang yang tersedia untuk meninjau kode pengembang senior. Haruskah kode menunggu untuk pergi ke QA (kami tidak mendorong apa pun dari dev tanpa ulasan kode dan saya mengasumsikan jenis tinjauan kode ini juga) karena bos senior sedang berlibur?

Saya juga secara khusus meminta junior untuk mengkaji ulang sesuatu ketika saya tahu mereka akan melakukan sesuatu yang serupa untuk klien yang berbeda segera atau jika saya tahu mereka telah mengerjakan sesuatu yang serupa atau bahwa mereka memiliki keahlian tertentu.

Jika kodenya cukup mudah, saya sering meminta orang junior untuk melakukan review. Mengapa menyia-nyiakan waktu manula jika orang junior cukup mampu melakukan pekerjaan itu? Jika junior merasa terintimidasi dengan meninjau kode senior, minta mereka untuk melihat bagian yang lebih mudah pada awalnya. Lagipula kamu tidak bisa melewati menjadi junior sampai kamu berhenti merasa terintimidasi.

Saya sering menemukan bahwa jika saya harus menjelaskan kode kepada orang junior yang tidak memahaminya, saya akan melihat kesalahan yang saya buat (biasanya dalam asumsi) dan bahwa tidak ada pengkaji kode berpengalaman yang akan tertangkap karena kode tersebut berjalan tetapi tidak melakukan apa yang dimaksudkan. Jadi hanya tindakan menjelaskan hal-hal akan sering membantu pengembang melihat masalah tanpa peninjau kode menemukannya. Karena orang yang lebih berpengalaman tidak sering dibawa melalui kode langkah demi langkah, hal-hal seperti ini lebih mudah ditemukan ketika seorang junior melakukan review.

Saya menemukan bahwa melibatkan junior dalam ulasan memiliki beberapa efek yang baik. Pertama itu membuat mereka lebih percaya diri ketika mereka dapat memahami kode orang tua. Itu membuat mereka lebih percaya diri ketika mereka dapat menemukan bug dalam kode itu.

Ini memaparkan mereka pada proses berpikir di luar proses mereka sendiri dan memungkinkan mereka melihat cara-cara lain dalam menangani berbagai hal. Bahkan sebagai orang senior, ini telah terjadi pada saya - melihat cara berbeda dalam memecahkan masalah dapat menjadi pembuka mata terhadap kemungkinan baru.

Ini membantu mereka belajar membaca kode orang lain dan memberi mereka kesempatan untuk bertanya apa yang dilakukan kode tersebut ketika masih segar dalam ingatan penulis. Itu jauh lebih baik daripada harus mempertahankan hal itu enam bulan kemudian ketika penulis sudah lama hilang atau sibuk pada proyek lain dan tidak punya waktu untuk pertanyaan.

Ini baik untuk para senior karena pertanyaan-pertanyaan baik mengekspos daerah potensial di mana junior lemah dan membutuhkan bimbingan (sehingga mereka dapat mengambil lebih banyak tanggung jawab dan memberikan para senior lebih banyak waktu untuk melakukan jenis tugas lain) atau area di mana kode tidak jelas untuk siapa pun kecuali penulis (yang artinya bahkan mungkin tidak jelas bagi penulis satu tahun dari sekarang ketika perlu diubah). Ini juga membantu para manula menyadari bahwa para junior mungkin lebih pintar daripada yang mereka berikan pada mereka. Ini membantu menjaga setiap orang pada pijakan profesional. Lagi pula jika Anda mengecualikan junior maka Anda jelas menyiratkan bahwa Anda tidak berpikir mereka mampu memahami kode yang secara psikologis disayangkan.

Junior yang mengulas kode senior dapat menghasilkan rasa hormat yang lebih profesional di organisasi Anda. Lansia mungkin menyadari bahwa mereka telah meremehkan junior dan junior mungkin menyadari bahwa senior memang tahu lebih banyak daripada yang mereka beri penghargaan. Junior kadang-kadang berpikir mereka memiliki keterampilan yang lebih besar daripada yang mereka miliki. Terkena kode yang tidak dapat mereka tulis baik untuk orang-orang ini karena mereka mulai menyadari bahwa mereka harus belajar lebih banyak. Ini juga akan memacu yang terbaik dari mereka untuk mendapatkan keterampilan. Di sekolah kadang-kadang siswa B tidak mengerti mengapa mereka tidak mendapatkan nilai A sampai seseorang menunjukkan sampel pekerjaan tingkat A kepada mereka. Sama dengan junior hingga senior dalam ulasan kode.


7

Jawaban saya adalah: Terkadang . Ini akan bervariasi dari pemrogram ke pemrogram, dan dari tugas ke tugas.

Untuk:

  • Jika Anda ingin para junior itu belajar bagaimana melakukan review kode yang efektif, maka cara terbaik adalah bagi mereka untuk melihat bagaimana senior melakukannya.
  • Seorang programmer junior mungkin memiliki lebih banyak pengalaman daripada yang senior dalam bahasa / domain tertentu / dll.
  • Dengan memaksa junior untuk mengevaluasi kode senior, mereka pasti akan belajar banyak hal. Pemrograman pasangan akan menjadi cara yang lebih efektif untuk melakukan hal ini, karena pertanyaan apa pun yang mungkin dimiliki junior bisa mendapatkan jawaban langsung.
  • Kode tidak ada yang sakral, dan tidak ada yang begitu baik sehingga kode mereka tidak boleh ditinjau. Jika Anda tidak melakukan ini, siapa yang akan meninjau kode top guys Anda?
  • Tidak semua junior sama, dan tidak semua senior sama. Terkadang mungkin tidak ada banyak celah, jadi jangan terpaku pada jabatan.

Melawan:

  • Ada risiko ulasan menjadi macet dengan non-masalah dari junior.
  • Tingkat pengetahuan / keterampilan yang dibutuhkan mungkin hanya di luar kemampuan junior. Ini tidak hanya akan membuang-buang waktu mereka, tetapi sangat mungkin juga melemahkan semangat mereka.

5

Saya sangat percaya bahwa setiap orang dalam tim harus terlibat dalam kedua sisi tinjauan kode. Junior harus meninjau kode Senior, dan sebaliknya. Mengapa keduanya? Karena biasanya ini bukan hanya tentang apakah kode "memecahkan masalah". Saya tidak bisa memberi tahu Anda berapa kali saya harus menjelaskan sepotong kode kepada seseorang dan tiba-tiba menemukan cara yang lebih baik untuk melakukannya pada akhir penjelasan. Ulasan kode mungkin melayani 3 tujuan:

  1. Pastikan kode sudah benar
  2. Buat penulis untuk memikirkan bagaimana orang lain akan melihat kode mereka
  3. Dapatkan umpan balik pembaca tentang apa yang bisa diperbaiki dan sepasang mata umum kedua

Saya seorang junior dan saya biasanya meninjau kode tertulis senior. Ini adalah kebijakan umum perusahaan "semuanya mendapat kode ditinjau oleh seseorang". Saya belajar banyak dari ini meninjau kode mereka dan memiliki kesempatan untuk bertanya tentang mengapa hal-hal dilakukan dengan cara tertentu. Dan kadang-kadang, saya mengusulkan cara yang lebih bersih untuk melakukan bagian tertentu dari kode dan semacamnya. Jauh lebih jarang daripada orang yang mengatakan kepada saya bagaimana meningkatkan kode saya, tetapi itu terjadi setidaknya sekali.

Juga penting seberapa formal ulasan kode Anda. Kami sangat informal dan terdiri dari "hei, maukah Anda melihat kode saya" dikatakan di seluruh bilik atau di saluran IRC pribadi. Saya bisa membayangkan jika Anda meninjau kode dalam pengaturan yang lebih formal, junior mungkin akan lebih terintimidasi tentang meninjau kode senior.


2

Tentu saja, insinyur junior harus meninjau kode insinyur senior, setidaknya beberapa waktu.

Dalam pengalaman saya, sangat jarang peninjau dalam ulasan kode satu-satu benar-benar melihat kesalahan yang dilewatkan oleh pembuat kode asli, apakah peninjau itu senior atau junior; Peninjau bahkan tidak harus manusia . Sangat umum, di sisi lain, bahwa pembuat kode asli mengakui kesalahan ketika mencoba menjelaskan kode, dan semakin junior penulis resensi, semakin besar kemungkinan ini, karena diperlukan kedalaman penjelasan.

Beberapa manfaat tinjauan kode yang lebih sering terlewatkan, menurut saya, yang mungkin lebih penting dalam jangka panjang daripada menangkap kesalahan:

  • Berbagi pengetahuan tentang apa yang sebenarnya terjadi dalam basis kode - "Tunggu, saya pikir Bill memiliki kelas yang melakukan X, kita tidak perlu menulis yang baru."
  • Berbagi pengetahuan tentang teknik dan gaya pemrograman yang baik.

Dalam kedua aspek ini, reviewer junior cenderung mendapat manfaat lebih dari yang senior.


2

Pemrogram junior harus benar-benar melakukan tinjauan kode untuk kolega senior mereka!

Namun, mereka seharusnya bukan satu-satunya peninjau . Pasangkan dengan pengembang yang lebih berpengalaman per ulasan kode.

Ada banyak sekali manfaat:

  • Penulis akan dipaksa untuk menjelaskan lebih banyak kode mereka. Membahas kode Anda adalah salah satu cara terbaik untuk menemukan masalah dengannya, atau cara yang lebih baik untuk melakukannya.

  • Penulis akan menemukan kelemahan dalam kode mereka. Dev junior cenderung bingung oleh beberapa potongan yang lebih maju. Seringkali, ini "terlalu rumit" untuk kebaikan mereka sendiri, dan bisa mendapat manfaat dari penyederhanaan.

  • Dev junior akan belajar praktik pengkodean yang lebih baik. Ulasan kode adalah kesempatan untuk mengajar dengan contoh.

  • Dev junior akan menjadi pengkaji kode yang lebih efektif. Peninjauan kode sulit . Semakin banyak orang berpengalaman dengan ulasan kode, ulasan kode menjadi lebih cepat dan lebih efektif.

  • Dev junior akan memiliki pengetahuan yang lebih dalam tentang basis kode. Mementingkan diri sendiri! Dengan menarik para devs junior lebih awal, Anda akan dapat menyerahkannya lebih cepat kepada mereka.

  • Dev junior akan merasa lebih terlibat. Dev junior akan mulai melihat kode "senior" (dan kolega mereka) sebagai kurang asing dan mengintimidasi. Ini adalah manfaat ulasan kode yang luar biasa dan sering diabaikan.

  • Dev junior adalah seperangkat mata baru. Mereka tidak diindoktrinasi seperti seseorang yang telah bekerja pada basis kode untuk jangka waktu yang lama. Dev junior lebih cenderung menunjukkan berbagai cara mencapai hal-hal saat mereka mengajukan pertanyaan. Jangan mengabaikan komentar mereka yang lebih liar tanpa setidaknya pertimbangan!

  • Para pengembang senior harus bertanggung jawab. Saya sering melihat situasi di mana para dev senior cenderung mengabaikan kode masing-masing (kepercayaan, kemalasan, dll). Satu set mata ekstra membantu mencegahnya.

Kerugian yang harus dipertimbangkan adalah bahwa semua pihak yang terlibat akan menghabiskan cukup banyak waktu untuk melakukan tinjauan kode. Dengan demikian, ini bisa menjadi penjualan yang sulit bagi manajemen. Manfaatnya benar-benar melebihi kecepatan yang lebih lambat.


0

Peninjauan kode dibuat untuk meninjau kode, bukan untuk pembelajaran. Jika saya seorang programmer junior, saya akan diintimidasi untuk meninjau kode senior.

Di sisi lain, membaca kode senior adalah cara belajar yang bagus, asalkan Senior tersedia untuk menjawab semua pertanyaan.

Dua alternatif bisa menjadi:

  • biarkan Juniors menghadiri pertemuan peninjauan kode dan biarkan setiap petugas terbuka untuk beberapa diskusi pengajaran / pembelajaran
  • berlatih pemrograman pasangan

7
Ulasan kode dapat menjadi pengalaman belajar. Yang mengatakan, saya sepenuhnya setuju, itu bukan tujuan utama mereka. Idealnya semua anggota tim harus dilibatkan, tetapi saya mengerti maksud Anda, perlu waktu bagi pengembang junior (yang benar-benar) cukup percaya diri untuk menunjukkan kekurangan (dengan asumsi ia dapat mengidentifikasi mereka terlebih dahulu, yang juga merupakan sesuatu yang saya tidak akan lakukan. Jujur mengharapkan dari junior meninjau kode senior).
yannis

OP secara eksplisit mengatakan bahwa programmer junior memiliki keterampilan yang baik. Kurang pengalaman tidak selalu berarti ulasan kode berkualitas lebih rendah.
Cascabel

@ Jeffromi: OP memang secara eksplisit mengatakan bahwa dia ingin mengatur tujuan ulasan kode untuk belajar. Saya hanya mengatakan bahwa ini bukan untuk yang mereka maksudkan.
mouviciel

Hm, saya pikir kita memahami OP secara berbeda - postingan itu mengatakan penekanan pada pembelajaran, tetapi juga mengatakan "terlibat sebagai peninjau kode", menyiratkan bahwa programmer junior bukan satu-satunya orang.
Cascabel
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.