Belajar kod? Pertama, belajar untuk menyelesaikan masalah.

Imej dari Unspalsh

Kebanyakan tutorial yang anda baca atau ditonton sebelum ini biasanya melakukan satu perkara, makan sudu.

Ini adalah "OK" untuk mempelajari sesuatu yang baru, tetapi tidak baik apabila anda perlu menyelesaikan tugas sebenar.

Tugas biasanya melibatkan mencapai matlamat dengan mengatasi masalah. Jawatan ini memperkenalkan "tip" yang paling penting untuk semua jurutera perisian pemula.

TL; DR

Pertama, selesaikan masalah ini. Kemudian tulis kod itu. - John Johnson

Dengan kata lain, selesaikan penyelesaian di atas kertas dalam langkah-langkah. Kemudian mula menulis kod untuknya. Jangan terkeliru dalam kod dan reka bentuk perisian terlebih dahulu.

Jadi, apa yang berlaku?

Banyak kali saya mendengar jurugambar dan jurutera perisian muda mengatakan: "Saya boleh mengikuti tutorial dan fikir saya memahami konsep ini. Tetapi apabila saya cuba melakukan perkara yang sama pada projek haiwan kesayangan saya, saya tidak dapat melakukannya. "

Ini berlaku kerana dua sebab.

Pertama, anda kehilangan pemikiran anda di suatu tempat dan tidak dapat menubuhkan rantaian.

Kedua, anda begitu kusut dalam kod bahawa masalah utama yang anda cuba selesaikan gagal.

Masalah ini juga berlaku untuk Jurutera Perisian dan juga Jurutera Perisian Kanan.

Perkara yang baik ialah dengan pengalaman, anda tahu bila hendak berhenti atau berehat. Kemudian, kembali kepada masalah dengan preskripsi yang berbeza dan cari penyelesaian dengan lebih cepat.

Ramai daripada anda boleh mengaitkan perkara ini: Anda berusaha keras untuk menyelesaikan masalah selama berjam-jam. Anda berehat atau tidur di atasnya, dan sesi berikutnya penyelesaiannya ada dalam beberapa minit.

Ini bukan sihir. Ini melihat masalah dari sudut pandangan yang lain.

Mari kita gambarkan dengan contoh

Anda perlu melakukan tugas - contohnya, membuat bayaran balik dengan pembayaran.

Anda diberi skema pangkalan data. Ini adalah tugas back-end dan anda perlu membuat API POST / bayaran balik yang boleh membuat bayaran balik dan bayaran yang berkaitan. Struktur pangkalan data adalah seperti di bawah:

Bayaran balik selalu ada sebab, seperti 'barangan yang rosak' atau 'penghantaran lewat'.

Anda boleh membincangkan muatan API dengan salah satu ahli pasukan. Anda mungkin bersetuju dengan muatan JSON di bawah ini:

Senario biasa

Apa yang paling akan dilakukan jurutera perisian pemula ialah mula mengimbas kod basis, jika ada satu. Mereka akan segera mula menulis beberapa kod. Sekiranya terdapat sebarang budaya ujian, mungkin mereka menulis beberapa kod ujian automatik.

Di sinilah kebanyakan pemula dan bahkan beberapa jurutera perisian berpengalaman. Jangan tulis kod apabila anda tidak menyelesaikan masalah.

Langkah yang sesuai

Langkah yang paling sesuai adalah untuk duduk dan menyelesaikan masalah di atas kertas dalam langkah-langkah.

Oleh itu, anda bertanya kepada diri sendiri apa yang perlu anda lakukan. Anda datang dengan rancangan dalam langkah-langkah dan tweak ia.

Jika anda mempunyai seseorang yang senior dalam pasukan anda, anda boleh mengesahkan langkah anda dan mendapatkan maklum balas.

Ini juga akan mengurangkan masa kajian kod. Kedua-dua anda telah bersetuju dengan modality penyelesaiannya.

Jadi bagaimana untuk melakukannya

Tugasan yang dijelaskan sebelum ini adalah untuk menulis API membuat / POST di mana Bayaran balik dengan pembayaran boleh dibuat.

Setiap bayaran balik boleh mempunyai maksimum dua pembayaran. Satu adalah jenis 'tunai' dan yang lain adalah 'kredit' jenis. Ia juga boleh menjadi satu bayaran balik dengan hanya satu pembayaran sama ada tunai atau kredit. Ini adalah bagaimana saya akan menulis langkah-langkah berikut di atas kertas:

  1. Buat kaedah untuk mendapatkan data dari pengawal yang dihantar oleh pengguna
  2. Mengesahkan semua input untuk nilai, jenis bayaran balik dan alasan.
  3. Sekiranya semua pengesahan berlalu, hantarkan nombor abjad angka rawak 10 yang tidak ada dalam jadual bayaran balik (cek rekursif)
  4. Sekiranya pengesahan tidak bertindak balas dengan mesej kegagalan pengesahan yang betul, tentukan struktur tindak balas
  5. Mulakan transaksi pangkalan data
  6. Masukkan nilai yang berkaitan balik bayaran balik refund_nr, reason_reason, is_premium_customer ke meja bayaran balik
  7. Pada memasukkan kejayaan, dapatkan id memasukkan terakhir
  8. Dengan bayaran balik, masukkan nilai yang berkaitan dengan pembayaran fk_refund, fk_item, amaun, is_cash ke jadual pembayaran
  9. Sekiranya semua berjalan lancar melakukan transaksi pangkalan data
  10. Sekiranya terdapat sebarang masalah, urus niaga pengembalian pangkalan data
  11. Menjawab mesej kejayaan atau kegagalan bergantung kepada kejayaan transaksi pangkalan data dengan struktur yang betul
  12. Kembalikan pengawal dan kaedah ini

Ikuti pelan dalam langkah-langkah, kini tulis kod

Selepas anda mempunyai pelan langkah demi langkah, anda boleh mula menulis kod. Kemudian, anda boleh pergi lebih mendalam mengenai nama kaedah, bagaimana untuk mendapatkan sambungan pangkalan data dan butiran lain.

Bergantung pada bahasa dan rangka kerja, anda juga boleh menentukan di mana harus kod pengesahan tinggal.

Anda juga boleh menulis ujian jika syarikat dan budaya menyokong dan menggalakkannya.

Apabila penyelesaian anda jelas dalam fikiran anda dan anda mempunyai pelan tindakan langkah demi langkah di atas kertas, anda kini boleh menulis kod.

Anda juga boleh memisahkan bahagian dengan cara yang lebih mudah untuk menyelesaikan dan mengangkatnya.

Sebagai contoh, logik ujian boleh menjadi sesuatu yang boleh ditulis secara berasingan dan diuji sendiri. Ia berfikir tentang bahagian-bahagian bebas yang boleh ditanggung bersama untuk membentuk penyelesaian.

Kesimpulannya

Apabila anda menghadapi tugas anda yang seterusnya, jangan mula menulis kod dari get-go.

Mula-mula, dapatkan masalah kemudian buat penyelesaian dengan langkah-langkah. Ini paling baik dilakukan dari skrin di atas kertas.

Kemudian, selesaikan penyelesaian anda dan berbincang dengan seseorang. Apabila anda berpuas hati, terjemahkan penyelesaian itu kepada kod. Ini adalah sedikit kaedah tetapi sangat berkesan.

Kod sentiasa menjadi penyelesaian kepada penyelesaian, bukan penyelesaiannya sendiri.

Sekiranya anda telah mencapai sejauh ini, sila tinggalkan saya "claps" :).

Terima kasih untuk membaca!

Originally diterbitkan di geshan.com.np.