Penugasan tes review kode pengembang reaksi junior

Apa ini


Ini adalah tinjauan kode solusi dari tugas tes kedua . Video ini menunjukkan solusi dan kesalahan yang berhasil, serta kiat untuk memperbaikinya. Catatan ini mengidentifikasi masalah umum dan menyediakan tautan dengan "cap waktu".


memilih reaksi


Video

Masalah umum


  • Readme salah;
  • Ada peringatan eslint, console.log tambahan (redux-logger tidak masuk hitungan);
  • Ikon web tidak bergerak maju (tugas membaca tidak perhatian);
  • Ikon Web didorong maju dalam komponen (dan itu akan lebih baik di peredam, atau tindakan);
  • Kata sandi tidak dihapus jika permintaan dikembalikan dengan kesalahan;
  • Tombol kirim dalam formulir masuk tersedia jika bidang kosong (atau salah satu bidang);
  • Tombol kirim dalam formulir login tidak mendukung menekan Enter;
  • Tidak membagi menjadi komponen / wadah (tidak berlaku untuk mereka yang berbagi dengan pendekatan lain);
  • URL untuk permintaan ke server sepenuhnya ditransmisikan (tidak ada pendaftaran bagian berulang dari string sebagai konstanta);
  • Kesalahan / pemberitahuan "nama pengguna / kata sandi salah" - tidak dihapus;
  • Kesalahan "nama pengguna / kata sandi salah" - dihasilkan oleh konstanta dari server;
  • Teks kesalahan dimasukkan dalam kode. Tidak ada akses ke kamus secara konstan dari server;
  • "Kode lama" belum dihapus, yaitu, kode yang tidak digunakan di mana pun;
  • Janji tidak memiliki blok tangkap, tidak ada penanganan kesalahan jika server menjawab tidak ok ;
  • Komponen di-host di node_modules;
  • Jenis Prop tidak ada atau tidak dijelaskan dengan benar.
  • Tindakan dan reduksi pada tumpukan di satu file (atau dalam satu semua tindakan, di yang lain semua reduksi). Tidak ada pembagian ke dalam "modul", yaitu, setiap entitas - tindakannya sendiri dan reduksi;

Semua solusi cap waktu


Hanya kesalahan yang ditunjukkan di sini, dan poin - poin bagus tidak dicatat , di mana ada banyak sekali, jadi saya sangat merekomendasikan menonton semuanya secara berurutan kepada mereka yang menganggap diri mereka "Juni" dalam pengembangan saat bereaksi.




6m00s - Komit Arthur Donkovtsev


7m40s - salah ketik nama fungsi


8m07s - permintaan asinkron tidak diterapkan




9m30 - an - Pavel Pimkin Commit


10m07s - semua tindakan dalam satu file. Tidak membagi menjadi modul.


10m25s - penghapusan ikon (enumerasi data) dilakukan pada komponen. Lebih baik dalam peredam atau aksi.




11m42-an Sergey ZackFox Commit


12m28s - prasasti "keren". Lebih baik melakukannya "secara netral" sehingga tugas serupa dapat segera dikirim ke majikan.


13m05s - tindakan ekstra yang menunjukkan bahwa "unduhan" telah selesai. Artinya, alih-alih tiga tindakan: PERMINTAAN / SUKSES / BERHENTI, Anda bisa bertemu dua: PERMINTAAN / SUKSES.




16m16 - an - Dmitry Petrov Commit


18m16s - menggunakan var


18m34s - bagian dari alamat URL yang tidak konstan




21m15 - an - Komit Roti Yefim


21m17s - pesan komit buruk


22m15 adalah nama tindakan yang sama.




24m16s - Komit Katsura Vladislav


25m17s - (bukan kesalahan) - data disiapkan dalam peredam


27m38s - menggunakan e.target , e.currentTarget lebih baik


28m20s - == , tetapi akan diperlukan ===


28m33s - menggunakan componentWillUnmount


29m00s (bukan kesalahan) - alasan tentang "sebelum validasi server".


30m05s - kode tidak diformat (untuk seorang amatir)




30m33s - Maxim Safin Commit


31m35s - menggunakan handler "non-universal", jika perlu.




32m02 - an - Sergey Regies Linkas Commit


33m42s - tidak ada tindakan untuk preloader


34m30s - urutan metode dalam komponen. ( plugin eslint )


35m30 - an - PropTip yang tidak ada




35m57 - an - Kononov Vitaly Commit




38m02s - Renat Rysaev Commit


39m45s - jangan lakukan apa yang tidak menarik




40m31s - Evgeny Sanzhiev Commit


41m20s (bukan kesalahan) - kamus untuk bekerja dengan kesalahan




42m46s - Komitmen Tanggul Vitaliy


42m54s - data uji tidak dibersihkan




44m50 - an - Komit Veniamin Trepachko


Prestasi: desain yang sangat keren.


47m42s - versi redux tidak penuh.




47m57s - Ingvarr6 (Igor) Commit


48m21s - no 404 rute




51m20 - an - Catherine H Commit


51m30s - kesalahan tidak dihapus




54m48s - Komit Palestina Palestina


55m30s - tindakan unduhan / kesalahan tidak cukup


56m49s - menggunakan efek samping dalam peredam


58m10s - (bukan kesalahan) mengeluarkan ikon web menggunakan css (sakit!)




58m53s - Komit Umyar Yusupov


59m15s - menggunakan callback di setState, yang mengarah pada redrawing yang tidak perlu. Lebih baik memvalidasi langsung di render.


61m01s - penggunaan yang tidak tepat jika tidak




62m13s - dsfcv d (boortcore) Commit




Komitmen Konstantin Lipsky 63m15s


65m11s - seluruh URL diteruskan ke tindakan, lebih baik melewati id di opsi ini.




67m14s - Ikaow Ikaow Commit


67m50s adalah kondisi yang sulit di shouldComponentUpdate, ini bisa lebih sederhana (periksa segera pada props.data dan itu saja)


69m32s - e.preventDefault bukan yang pertama di handler




70m01s - Ali Gasymov Commit




71m50s - Akhmetanov Albert Commit


72m20s - komponen dalam node_modules


73m15s - duplikat panggilan variabel




74m04s - Komit Putih Eugene


76m04s - privateRoute tidak dipindahkan ke komponen terpisah


76m33s - kode kompleks untuk memindahkan ikon web


76m56s - properti redundan dimuat




77m35s - Aladyin Alexander Commit


80m33s - kesalahan tidak dibuat dalam kamus




81m19s - Komit Misha Mihail


81m43s - penggunaan berlebihan withRouter




83m04s - Komit Dmitrii Shapovalenko




84m00 - an - Daniel Commit


84m58 - an - pembagian tindakan yang berlebihan


85m55s - kesalahan atas nama metode siklus hidup




86m58 - an - Komit Romawi Poroshin


87m15s - penggunaan tag article secara semantik salah


90m46s - panggilan tambahan ke metode array




91m10s - Artem Bochkov Commit

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


All Articles