Sepotong pengalaman pribadi: pengembangan, permintaan tarik, komitmen, keterampilan perangkat lunak


Hai, Habrahabr! Pada artikel ini, saya akan membagikan pendapat saya tentang pengembangan perangkat lunak. Saya telah berada di bidang teknologi informasi belum lama ini, tetapi saya telah mengembangkan sikap yang kuat terhadap pengembangan, mulai dari nama komitmen hingga klarifikasi persyaratan untuk tugas tersebut.

Pengembangan


Perubahan homogen


Bayangkan bahwa Anda mendapat tugas di mana Anda pertama kali perlu mengembangkan solusi yang dioptimalkan, dan kemudian menggunakannya alih-alih yang lama dalam selusin file dalam proyek. Pertama, dapatkan penilaian bahwa pendekatan Anda untuk menyelesaikan masalah sudah benar, dan kemudian refactor. Putuskan untuk melakukan semuanya sekaligus - Anda bisa mendapatkan komentar kritis dan koreksi untuk solusi pada tinjauan kode. Maka Anda harus menulis ulang semua file di mana Anda menerapkan kode baru.

Implementasi tugas


Jangan menyelesaikan masalah dengan pedang, jangan membuat keputusan penting dengan tergesa-gesa, bahkan jika tampaknya pendekatan Anda benar. Ikuti panduan ini:

  • Lakukan analisis implementasi yang ada di proyek atau di jaringan, segarkan prinsip dan pola desain di memori Anda.
  • Jangan menghabiskan lebih dari 20 menit untuk menyelesaikan masalah yang khas atau terlalu rumit, ini tidak efektif. Kemungkinan besar, jika Anda tidak menemukan pendekatan yang tepat dengan cepat, solusinya tidak jelas.
  • Mintalah bantuan dari rekan kerja, termasuk pengembang utama.
  • Selesaikan masalah sebagai bagian dari subtugas langkah demi langkah, jangan melompati - "Saya akan melakukan yang sulit nanti." Mungkin ternyata tidak ada solusi yang tepat, dan yang sudah ada tidak cocok dan tugas perlu ditinjau.
  • Memecahkan masalah dimulai dengan hal-hal mendasar, pastikan area konseptual berfungsi. Mungkin ternyata secara individual fungsionalitas Anda layak, dan menghubungkannya bersama-sama akan membutuhkan "penopang" atau pendekatan terintegrasi lainnya, yang akan membutuhkan waktu ekstra.

Tarik Permintaan


Judul


Judul harus menjelaskan perubahan tesis - singkat dan padat. Ikuti aturan desain tajuk:

  • mulai dengan huruf kapital
  • tanpa titik di akhir
  • untuk memiliki suasana hati yang penting.

Ticket-295: Add base cat interface and British cat realization 

Deskripsi


Bagian permintaan tarik ini harus ditulis dengan benar dalam bahasa yang dapat dimengerti oleh spesialis non-teknis, dibagi dengan beban semantik, dan mengungkapkan perubahan sebagai berikut:

  • hasilnya dalam beberapa kalimat,
  • apa yang mendahului perubahan
  • mengapa dan mengapa mereka harus dilakukan,
  • apa yang sebenarnya kamu lakukan
  • bagaimana Anda menerapkan ini.

 The base cats interface was created to provide the common cats functionality and attributes. Also the realization of the British cats was created as the individual one. Our business-analytics have provided for product owner that they want to interact with cats on out platform too, not only with docs. So developers got the tasks to design and implement basic implementation of the cats interface to describe the common patterns of the interaction with it by user. Also the goal was to create one demo cat called British cats (British Shorthair) with its great noses. 

Bantuan


Terakhir, tinggalkan tautan ke topik yang dicakup dalam permintaan tarik. Jika pengembang lain perlu lebih memahami perubahan, ia akan dapat melihat di sana. Juga beberapa aturan:

  • Jelaskan secara singkat di mana bantuan diarahkan
  • jika mungkin - lempar tautan lengkap,
  • jika tidak, perpendek dengan git.io dan bit.ly ,
  • buat daftar.

 References: β€’ British cats β€” https://en.wikipedia.org/wiki/British_Shorthair β€’ Cats anatomy β€” https://en.wikipedia.org/wiki/Cat_anatomy 

Berkomitmen


Gabungkan Komit


Saat Anda mengerjakan perubahan baru, Anda melakukannya di cabang kerja yang terpisah. Komit di cabang kerja mendokumentasikan sendiri perubahan satu baris.

 $ git log --oneline 4336d35 Create cats interface 7bc2ba9 Implement Persian cat realization 5f330fd Add Persian cat documentation ... 

Ketika tiba saatnya untuk membuat perubahan ini ke cabang default, ini dilakukan dalam satu komit besar dengan tajuk dan deskripsi komprehensif tentang apa yang dilakukan dan mengapa. Praktik yang baik untuk menggabungkan perubahan adalah dengan menggunakan antarmuka web sistem penyimpanan kode sumber seperti Github dan Gitlab .

 $ git log --oneline d2ccf1a Ticket-299: Prevent cats graph be stopped unexpectedly (#301) 82a921a Ticket-295: Add base cat interface and british cat realization (#293) ... 

Akibatnya, cabang default diisi dengan komit dengan deskripsi rinci tentang perubahan.

 Ticket-299: Prevent cats graph be stopped unexpectedly There was a situation when cats graph is stopped unexpectedly without any verbose information and traceback. The socket connection between two web-servers (back-end and front-end) was successfully debugged and founded the socket library async latent behavior. Implemented: β€” Create handler for async socket connection as sync. The consumer doesnt specify a condition for ending the while loop and stream, so the application checker in Daphne cleans up the task if the protocol disconnects and the app doesnt handle it. So `channel_layer` is wrapped to `async_to_sync`. β€” Fix low latency between pushing the cats graph data and its output on the user interface. There was a high coupling between interface class that proxy via a few client to the realization. The separated cats graph message class was created. References: β€’ Socket channel layers β€” https://channels.docs.io/channel_layers.html β€’ Daphne handle_reply() β€” https://git.io/fgVzK Issue: #56 

Ikuti panduan ini saat membuat gabungan:

  • semua perubahan dalam satu komit;
  • judul dan blok teks dengan beban semantik berbeda dipisahkan oleh baris kosong;
  • Jelaskan perubahan: mengapa dibutuhkan, masalah apa yang mereka pecahkan;
  • menggambarkan setiap perubahan secara rinci sebagai daftar: masuk ke detail dan konsekuensi,
  • buat keputusan Anda jelas;
  • Tinggalkan tautan untuk membantu, dokumentasi, forum, diskusi masalah;
  • lihat topik atau tarik permintaan jika perubahan Anda terkait dengannya;
  • batasi panjang baris dalam pesan hingga 72 karakter.

Keterampilan lunak


Komunikasi tertulis


Setiap hari, pengembang melakukan komunikasi tertulis tentang topik teknis, tentang proyek, pendekatan untuk memecahkan masalah, tetapi tidak selalu melakukannya dengan baik. Orang yang Anda ajak berkomunikasi tidak membaca pikiran Anda, tidak berpikir dengan cara yang sama dengan Anda, dan tidak ingat rincian topik proposal yang Anda lakukan. Bagaimana proses ini dapat ditingkatkan:

  • Ikuti aturan ejaan dan tanda baca untuk membatasi makna teks.
  • Gunakan jeda baris dan biarkan garis kosong di antara blok teks yang tidak terkait.
  • Gunakan daftar untuk menyorot urutan atau label kalimat.
  • Gunakan layanan untuk berbagi bagian dari kode atau gunakan alat perusahaan: Pastebin , Github Gist , Codeshare atau, misalnya, Slack messenger memiliki fungsi dalam kode atau obrolan cuplikan teks .
  • Sorot nama Anda sendiri, kata-kata penting dan detail dengan bantuan tanda bawaan pada messenger Anda. Sekarang setiap messenger modern mendukung pemilihan teks dengan jenis ini.
  • Dukung diskusi Anda dengan tautan ke dokumentasi, artikel, atau posting forum.
  • Jangan menulis atau menunjukkan informasi yang tidak perlu kepada lawan bicara. Misalnya, jangan mengisi tangkapan layar yang baru saja diambil dengan nama dalam format tanggal Screen Shot 2018-06-23 pukul 12.17.31 pagi jika orang lain melihat prasasti ini. Lihatlah lebih dekat Traceback selama topik diskusi proses pendaftaran.jpg pendaftaran .

Tanggung jawab


Anda tumbuh sebagai seorang profesional tidak hanya ketika Anda mendapatkan pengalaman dan pengetahuan baru, tetapi juga jika:

  • ketika memecahkan masalah, berkonsultasilah dengan para ahli;
  • pekerjaan Anda dapat dilakukan dengan lebih baik - tingkatkan;
  • Anda dapat melakukan pekerjaan yang lebih baik sebagai rekan kerja - ceritakan kepadanya tentang hal itu;
  • Anda tidak tahu sesuatu - akui itu dan minta bantuan;
  • Perbaiki proses, bawa hal-hal baru dan jangan abaikan masalah.

Terima kasih telah meluangkan waktu untuk menerbitkan. Tinggalkan umpan balik dalam pesan atau komentar pribadi, saya akan senang membahasnya.

Source: https://habr.com/ru/post/id416545/


All Articles