Lampu Tinjauan Kode – Hackster.io

Artikel berikut pertama kali diterbitkan di platis.solusi

Di tempat kerja, kami adalah tim yang serba cepat yang suka melakukan hal kecil dan sering. Setiap komitmen tidak hanya harus melewati berbagai tes yang dijalankan oleh mesin Integrasi Kontinyu, tetapi juga mendapat kode ekstensif yang ditinjau sebelum diizinkan untuk digabungkan. Karena kita enam dan kode perilaku internal kita mendikte dua persetujuan positif untuk setiap pengajuan baru, kurangnya respon saat meninjau, dapat menghambat proses dan kecepatan pengembangan. [19659008] Di dunia yang ideal, pengembang akan memeriksa email pemberitahuan mereka dan akan melanjutkan dengan meninjau kode rekan mereka. Namun, karena mereka terlalu tenggelam dalam pekerjaan yang sedang berlangsung dan mungkin sedikit kewalahan oleh jumlah email yang mereka terima, email ini cenderung diabaikan. Keyakinan umum adalah bahwa orang lain dalam tim akan meninjau kode, tetapi sering kali tidak ada yang melakukannya. Kami telah menggunakan dua teknik berbeda sejauh ini untuk memecahkan masalah. Yang pertama termasuk meneriakkan TINJAUAN KODE dengan keras dan yang kedua menempatkan kantung kacang berkode warna (saya tidak mencintaimu 😂) di meja satu sama lain. Yang ketiga yang berharap untuk menguasai mereka semua adalah Lampu Tinjauan Kode !

Lampu Tinjauan Kode adalah gawai berkemampuan Wi-Fi berbasis Neopixel yang mengingatkan pengembang untuk mengintip-review kode rekan kerja mereka . Untuk setiap pengajuan yang belum ditinjau cukup, itu meredup ke atas dan ke bawah pada warna yang khusus untuk pengembang yang mencoba memperkenalkan fungsi baru ke proyek. Lampu berhenti bersinar setelah kode menerima cukup ulasan oleh tim, digabungkan atau ditetapkan sebagai Bekerja Dalam Kemajuan . Saat ini, ia dikonfigurasi untuk bekerja dengan Gerrit (v.2.15) tetapi bisa diprogram untuk mengambil data dari alat yang berbeda seperti Jenkins, GitHub, GitLab, dll. Keuntungannya adalah bahwa hal itu terus menerus, dan dengan sendirinya, mengingatkan pengembang bahwa tim perlu meninjau kode dan dengan demikian karya seseorang diblokir selama lampu bersinar. Selain itu, mereka dapat melihat siapa yang meminta peninjauan kode dan berapa banyak ulasan yang perlu dilakukan. Tapi mari kita lihat cara kerjanya.

Gadget ini terdiri dari modul mikrokontroler ESP8266 (Wemos D1 Mini) yang menghubungkan secara nirkabel ke internet, serta cincin Neopixel yang menampilkan berbagai warna. Menuai manfaatnya sederhana bagi anggota tim pengembangan. Mereka hanya perlu kode dorong kepada Gerrit, tambahkan grup yang mencakup semua anggota tim ke peninjauan dan tetapkan peninjauan ke Siap untuk ditinjau [19659005] atau Bekerja dalam Kemajuan tergantung pada apakah mereka ingin tim memulai atau berhenti meninjau kode.

Kami telah menyertakan pengguna khusus di grup Gerrit tim kami, mewakili lampu, yang ditambahkan bersama tim untuk setiap ulasan. Pengguna ini sedang digunakan oleh mikrokontroler ESP8266 yang terhubung ke WiFi dan queries Gerrit untuk ulasan terbuka di mana “pengguna lampu” ini adalah peninjau. Tentu saja, tidak perlu memiliki pengguna terpisah untuk lampu. Anggota tim yang sudah ada akun dapat digunakan dan cara ini Lampu Ulasan Kode dapat dipersonalisasi. Namun, karena kami menganggap ulasan kode sebagai aktivitas tim dan dasar lintas fungsi dan berbagi pengetahuan, kami telah memilih “pendekatan tim” . Akhirnya, untuk setiap peninjauan pengguna yang ditugaskan, kami menentukan berapa banyak ulasan yang telah dilakukan dan jika mereka gagal memenuhi ambang batas yang disepakati kami, warna yang sesuai dengan pemilik dari ulasan ditampilkan pada Neopixel

Di sisi perangkat lunak lampu Review Code menggunakan Adafruit Neopixel untuk mengontrol cincin Neopixel. Terlebih lagi, ESP8266 SDK mendukung sebagian besar C ++ 11 STL yang membuat pemrograman menjadi menyenangkan. Namun, itu juga membuat Anda cenderung lupa menulis untuk perangkat dengan sumber daya yang sangat terbatas. Ketika mencoba untuk membuat semuanya bekerja, saya berlari ke bagian yang adil dari limpahan memori tumpukan saat menangani aliran JSON yang masuk yang, untuk bersikap adil, membuat pengembangan proses yang lebih didaktik. Bagaimanapun, mampu menggunakan vektor dan string membuat semuanya mudah selama Anda berhati-hati. Hardware-bijaksana, ada PCB kustom yang hanya menghubungkan Wemos D1 Mini ke cincin Neopixel dan kasus cetak 3D yang terbuat dari filamen tembus yang menaungi segalanya.

Seperti biasa, Anda dapat menemukan semua sumber yang diperlukan untuk mereproduksi proyek pada GitHub dan jangan lupa untuk melihat demo video di bawah ini.

Leave a Reply

Your email address will not be published. Required fields are marked *