Cara maca lan ndandani 100,000 baris kode sajrone seminggu

Cara maca lan ndandani 100,000 baris kode sajrone seminggu
Ing wiwitan mesthi angel mangertos proyek gedhe lan lawas. Arsitektur minangka salah sawijining kegiatan penilaian arsitek. Biasane sampeyan kudu nggarap proyek gedhe lan lawas, lan asil kudu dikirim sajrone seminggu.

Cara ngevaluasi proyek 100k utawa luwih baris kode sajrone seminggu nalika isih menehi asil sing pancen migunani kanggo klien.

Umume arsitek lan pimpinan teknis wis nemoni penilaian proyek sing padha. Iki bisa uga katon kaya proses semi-formal utawa minangka layanan sing kapisah kaya sing ditindakake ing perusahaan kita, kanthi cara siji utawa liyane, umume sampeyan wis ngatasi iki.

Sing asli ing basa Inggris kanggo kanca-kanca sing ora nganggo basa Rusia ana ing kene: Assessment Arsitektur ing minggu.

Pendekatan perusahaan kita

Aku bakal ngandhani cara kerjane ing perusahaan kita lan kepiye tumindak ing kahanan sing padha, nanging sampeyan bisa ngganti pendekatan iki kanthi gampang miturut kabutuhan proyek lan perusahaan sampeyan.

Ana rong jinis evaluasi arsitektur.

InteriorΓ© – biasane kita nindakake kanggo proyek ing perusahaan. Sembarang proyek bisa njaluk evaluasi arsitektur amarga sawetara alasan:

  1. Tim kasebut nganggep proyek kasebut sampurna lan iki curiga. Kita wis ngalami kasus kaya ngono, lan asring ing proyek kasebut, kabeh ora cocog.
  2. Tim kasebut pengin nyoba proyek lan solusine.
  3. Tim ngerti yen ana sing ala. Padha malah bisa dhaftar masalah utama lan nimbulakΓ©, nanging pengin dhaftar lengkap masalah lan Rekomendasi kanggo nambah project.

Eksternal minangka proses sing luwih formal tinimbang pambiji internal. Klien mesthi teka mung ing siji kasus, nalika kabeh ala - ala banget. Biasane klien ngerti yen ana masalah global, nanging ora bisa ngenali panyebab kanthi bener lan dipecah dadi komponen.

Evaluasi arsitektur kanggo klien eksternal minangka kasus sing luwih rumit. Proses kasebut kudu luwih formal. Proyèk tansah amba lan lawas. Dheweke duwe akeh masalah, kewan omo lan kode bengkong. A laporan ing karya rampung kudu siap ing sawetara minggu maksimum, kang kudu kalebu masalah utama lan Rekomendasi kanggo dandan. Mulane, yen kita menehi hasil karo penilaian eksternal proyek kasebut, banjur penilaian internal bakal dadi kue. Ayo nimbang kasus sing paling angel.

Evaluasi arsitektur proyek perusahaan

Proyek khas kanggo ngevaluasi yaiku proyek perusahaan gedhe, lawas, kanthi akeh masalah. A klien teka kanggo kita lan njaluk kita ndandani project kang. Kaya karo gunung es, klien mung ndeleng pucuk masalah lan ora ngerti apa sing ana ing sangisore banyu (ing jero kode).

Masalah sing bisa sambat lan bisa dingerteni pelanggan:

  • Masalah Kinerja
  • Masalah migunani
  • Penyebaran jangka panjang
  • Kurang unit lan tes liyane

Masalah sing paling mungkin ora dingerteni klien, nanging bisa uga ana ing proyek kasebut:

  • Masalah safety
  • Masalah desain
  • Salah arsitektur
  • Kesalahan algoritma
  • Teknologi sing ora cocog
  • Utang teknis
  • Proses pangembangan sing salah

Proses review arsitektur formal

Iki minangka proses resmi sing kita tindakake minangka perusahaan, nanging sampeyan bisa ngatur gumantung saka perusahaan lan proyek sampeyan.

Panjaluk saka klien

Klien takon kanggo ngevaluasi arsitektur proyek saiki. Wong sing tanggung jawab ing sisih kita ngumpulake informasi dhasar babagan proyek kasebut lan milih ahli sing dibutuhake. Gumantung ing proyek kasebut, iki bisa uga beda pakar.

Arsitek Solusi - wong utama sing tanggung jawab kanggo penilaian lan koordinasi (lan asring mung siji).
Tumpukan pakar tartamtu – .Net, Java, Python, lan spesialis teknis liyane gumantung saka proyek lan teknologi
Pakar awan - iki bisa dadi arsitek awan Azure, GCP utawa AWS.
infrastructure - DevOps, Administrator sistem, lsp.
ahli liyane - kayata data gedhe, pembelajaran mesin, insinyur kinerja, pakar keamanan, pimpinan QA.

Nglumpukake informasi babagan proyek

Sampeyan kudu ngumpulake informasi sabisa babagan proyek kasebut. Sampeyan bisa nggunakake macem-macem teknik gumantung saka kahanan:

  • Kuesioner lan cara komunikasi liyane liwat surat. Cara sing paling ora efektif.
  • Rapat online.
  • Piranti khusus kanggo ijol-ijolan informasi kayata: Google doc, Confluence, repositori, lsp.
  • Rapat "Urip" ing situs. Cara sing paling efektif lan paling larang.

Apa sing kudu sampeyan entuk saka klien?

Informasi dhasar. Apa proyek babagan? Tujuan lan regane. Tujuan utama lan rencana kanggo masa depan. Tujuan lan strategi bisnis. Masalah utama lan asil sing dikarepake.

Informasi proyek. Tumpukan teknologi, kerangka kerja, basa pemrograman. Penyebaran ing papan utawa awan. Yen proyek kasebut ana ing awan, layanan apa sing digunakake. Apa pola arsitektur lan desain sing digunakake.

Persyaratan non-fungsional. Kabeh syarat sing ana gandhengane karo kinerja, kasedhiyan, lan gampang digunakake sistem. syarat safety, etc.

Kasus panggunaan dhasar lan aliran data.

Akses menyang kode sumber. Sisih paling penting! Sampeyan kudu entuk akses menyang repositori lan dokumentasi babagan carane mbangun proyek kasebut.

Akses menyang infrastruktur. Luwih becik duwe akses menyang panggung utawa infrastruktur produksi kanggo nggarap sistem langsung. Iku sukses gedhe yen klien duwe alat kanggo ngawasi infrastruktur lan kinerja. Kita bakal ngomong babagan alat kasebut ing bagean sabanjure.

Dokumentasi. Yen klien duwe dokumentasi iki minangka wiwitan sing apik. Bisa uga wis ketinggalan jaman, nanging isih dadi wiwitan sing apik. Aja ngandelake dokumentasi - nyoba karo klien, ing infrastruktur nyata lan ing kode sumber.

Proses Evaluasi Arsitektur

Kepiye carane bisa ngolah informasi sing akeh banget sajrone wektu sing cendhak? Kaping pisanan, parallelize karya.

DevOps kudu ndeleng infrastruktur. Tech mimpin menyang kode. Insinyur kinerja kanggo ndeleng metrik kinerja. Spesialis database kudu luwih jero babagan struktur data.

Nanging iki minangka kasus sing cocog yen sampeyan duwe akeh sumber daya. Biasane, siji nganti telung wong ngevaluasi proyek. Sampeyan bisa uga nindakake perkiraan dhewe, sing asring kedadeyan yen sampeyan duwe kawruh lan pengalaman sing tepat ing kabeh bidang proyek. Ing kasus iki, sampeyan kudu ngotomatisasi kabeh proses sabisa.

Sayange, sampeyan kudu maca dokumentasi kanthi manual. Kanthi jumlah pengalaman sing tepat, sampeyan bisa ngerti kanthi cepet kualitas dokumentasi. Apa sing bener lan sing jelas ora cocog karo kasunyatan. Kadhangkala sampeyan bisa ndeleng arsitektur ing dokumentasi sing ora bakal bisa digunakake ing urip nyata. Iki minangka pemicu kanggo sampeyan mikir babagan carane nindakake ing kasunyatan ing proyek kasebut.

Alat sing migunani kanggo ngotomatisasi evaluasi proyek

Evaluasi kode minangka latihan sing prasaja. Sampeyan bisa nggunakake analisis kode statis sing bakal nuduhake masalah desain, kinerja, lan keamanan. Ing ngisor iki sawetara:

Struktur 101 minangka alat sing apik kanggo arsitek. Iku bakal nuduhake gambar amba, dependensi antarane modul lan wilayah potensial kanggo refactoring. Kaya kabeh alat sing apik, regane apik, nanging sampeyan bisa njupuk kauntungan saka versi nyoba 30 dina.

soundQube - alat lawas apik. Alat kanggo analisis kode statis. Ngidini sampeyan ngenali kode ala, bug, lan masalah keamanan kanggo luwih saka 20 basa pamrograman.

Kabeh panyedhiya awan duwe alat pemantauan infrastruktur. Iki bakal ngidini sampeyan ngevaluasi efektifitas infrastruktur sampeyan kanthi bener babagan biaya lan kinerja. Kanggo AWS iki penasihat sing dipercaya. Iku gampang kanggo Azure Penasehat Azure.

Pemantauan lan logging kinerja tambahan bakal mbantu nemokake masalah kinerja ing kabeh level. Miwiti saka database kanthi pitakon sing ora efektif, backend lan pungkasan karo frontend. Sanajan klien durung nginstal alat kasebut sadurunge, sampeyan bisa nggabungake kanthi cepet menyang sistem sing ana kanggo ngenali masalah kinerja.

Kaya biasane, alat sing apik pancen pantes. Aku bisa menehi rekomendasi saperangan alat mbayar. Mesthi sampeyan bisa nggunakake open-source nanging mbutuhake wektu luwih akeh. Lan iki kudu ditindakake ing ngarep, ora sajrone proses penilaian arsitektur.

New Relic - alat kanggo netepake kinerja aplikasi
datadog - layanan ngawasi sistem awan

Ana akeh alat sing kasedhiya kanggo tes keamanan. Wektu iki aku bakal menehi rekomendasi alat scan sistem gratis.

OWASP ZAP – alat kanggo mindhai aplikasi web kanggo tundhuk karo standar keamanan.

Ayo kabeh dadi siji.

Nyiapake laporan

Miwiti laporan kanthi data sing diklumpukake saka klien. Nerangake tujuan proyek, kendala, syarat non-fungsi. Sawise iki, kabeh data input kudu kasebut: kode sumber, dokumentasi, infrastruktur.

Langkah sabanjure. Dhaptar masalah sing ditemokake kanthi manual utawa nggunakake alat otomatis. Selehake laporan sing digawe otomatis gedhe ing pungkasan ing bagean aplikasi. Mesthine ana bukti sing ringkes lan ringkes babagan masalah sing ditemokake.
Prioritasake masalah sing ditemokake ing kesalahan, peringatan, skala info. Sampeyan bisa milih ukuran sampeyan dhewe, nanging iki minangka ukuran sing umum.

Minangka arsitek sejati, tanggung jawab sampeyan menehi rekomendasi kanggo mbenerake masalah sing ditemokake. Nerangake dandan lan nilai bisnis sing bakal ditampa pelanggan. Carane nuduhake nilai bisnis saka refactoring arsitektur kita rembugan sadurungΓ©.

Siapke roadmap kanthi iterasi cilik. Saben pengulangan kudu ngemot wektu kanggo ngrampungake, deskripsi, jumlah sumber daya sing dibutuhake kanggo perbaikan, nilai teknis lan nilai bisnis.

Kita ngrampungake penilaian arsitektur lan menehi laporan marang klien

Aja mung ngirim laporan. Bisa uga ora diwaca babar pisan, utawa ora diwaca lan dimangerteni tanpa panjelasan sing bener. Ing cendhak, komunikasi langsung mbantu ngilangi kesalahpahaman antarane wong. Sampeyan kudu nggawe jadwal rapat karo klien lan ngomong babagan masalah sing ditemokake, fokus ing masalah sing paling penting. Iku worth tarik manungsa waΓ© klien kanggo masalah sing malah ora ngerti. Kayata masalah keamanan lan nerangake carane bisa mengaruhi bisnis. Tampilake peta dalan kanthi perbaikan lan rembugan macem-macem pilihan sing luwih cocog kanggo klien. Iki bisa dadi wektu, sumber daya, jumlah karya.

Minangka ringkesan rapat sampeyan, kirim laporan menyang klien.

Ing kesimpulan

Evaluasi arsitektur minangka proses sing kompleks. Kanggo nindakake evaluasi kanthi bener, sampeyan kudu duwe pengalaman lan kawruh sing cukup.

Sampeyan bisa nyedhiyakake klien kanthi asil sing migunani kanggo dheweke lan bisnise mung seminggu. Malah yen sampeyan nindakake dhewe.

Adhedhasar pengalaman, akeh dandan sing diundhuh ing tengah, lan kadhangkala ora tau diwiwiti. Wong-wong sing milih tegese emas kanggo awake dhewe lan mung nggawe bagean saka dandan sing paling migunani kanggo bisnis kanthi biaya tenaga kerja minimal, nambah kualitas produke. Wong-wong sing ora nindakake apa-apa bisa nutup proyek kasebut sawise sawetara taun.

Tujuan sampeyan kanggo nuduhake paningkatan maksimal klien kanggo rega minimal.

Artikel liyane saka bagean arsitektur sampeyan bisa maca ing wektu luang.

Aku pengin sampeyan kode resik lan pancasan arsitektur apik.

Grup facebook kita - Arsitektur lan Pangembangan Piranti Lunak.

Source: www.habr.com

Add a comment