Kodlamayı mı öğreniyorsun? İlk önce sorunu çözmeyi öğrenin.

Unspalsh görüntü

Şimdiye kadar okuduğunuz veya izlediğiniz öğreticilerin çoğu genellikle bir şey yapar: kaşıkla besleme.

Bu yeni bir şey öğrenmek için “Tamam” dır, ancak gerçek bir görevi çözmeniz gerektiğinde iyi değildir.

Bir görev genellikle bir problemin üstesinden gelerek bir hedefe ulaşmaktır. Bu yazı tüm acemi yazılım mühendisleri için en önemli "ipucunu" ortaya koyuyor.

TL; DR

İlk önce sorunu çöz. Ardından, kodu yazın. - John Johnson

Başka bir deyişle, çözümü kağıt üzerinde adım adım uygulayın. Ardından bunun için kodu yazmaya başlayın. İlk önce kod ve yazılım tasarımında karışıklığa uğramayın.

Peki ne olacak?

Çoğu zaman yeni başlayanlar ve küçük yazılım mühendislerinin söylediklerini duyuyorum: “Öğreticiyi takip edebilir ve kavramı anladığımı düşündüm. Ancak evcil hayvan projemde benzer bir şey yapmaya çalıştığımda, bunu yapamadım. ”

Bu iki nedenden dolayı olur.

İlk önce, düşünce treninizi bir yerlerde kaybettiniz ve bir zincir kuramadınız.

İkincisi, kodda o kadar karışıktınız ki, çözmeye çalıştığınız asıl sorun odaktan düştü.

Bu sorun aynı zamanda Yazılım Mühendisleri ve hatta Kıdemli Yazılım Mühendisleri için de geçerlidir.

İşin iyi yanı, deneyim ile ne zaman duracağınızı ya da ne zaman ara vereceğinizi biliyorsunuz. Daha sonra farklı bir reçete ile soruna geri dönün ve daha hızlı bir çözüm bulun.

Birçoğunuz bununla ilgili olabilir: Bir sorunu saatlerce düzeltmek için çok uğraştınız. Bir mola verdin ya da uyudun ve bir sonraki oturumda çözüm birkaç dakika içinde oldu.

Bu sihir değil. Bu, soruna başka bir açıdan bakıyor.

Bir örnekle açıklayalım

Bir görev yapmanız gerekiyor - örneğin, ödemelerle para iadesi oluşturun.

Veritabanı şeması size verilmiştir. Bu bir arka uç görevidir ve geri ödemeyi ve bununla ilişkili ödemeleri oluşturabilecek bir POST / geri ödeme API'si oluşturmanız gerekir. Veri tabanı yapısı aşağıdaki gibidir:

Geri ödemenin her zaman "zarar görmüş mallar" veya "geç teslimat" gibi bir nedeni vardır.

API yükünü ekip üyelerinden biriyle tartışabilirsiniz. Aşağıdaki JSON yükü üzerinde anlaşabilirsiniz:

Olağan senaryo

En yeni başlayan yazılım mühendislerinin yapacağı şey, eğer varsa, kod temeli taramaya başlamaktır. Hemen bir kod yazmaya hemen başlayacaklar. Herhangi bir test kültürü mevcutsa, belki bazı otomatik test kodları yazarlar.

Burası çoğu aceminin ve hatta bazı deneyimli yazılım mühendislerinin kaydığı yer. Sorunu çözmediğiniz zaman kod yazmayın.

Uygun adım

En uygun adım, sorunu kağıt üzerinde oturup adım adım çözmektir.

Yani kendine ne yapman gerektiğini sor. Sen adım adım bir plan yap ve çimdikle.

Takımınızda kıdemli biri varsa, adımlarınızı onaylayabilir ve geri bildirim alabilirsiniz.

Bu aynı zamanda kod inceleme süresini de azaltacaktır. İkiniz de çözümün modalitesine karar verdiniz.

Peki nasıl yapılır

Daha önce açıklanan görev, ödemeli geri ödemelerin oluşturulabildiği bir create / POST API'si yazmaktır.

Her geri ödemede en fazla iki ödeme yapılabilir. Biri "nakit", diğeri "kredi" türündedir. Ayrıca, sadece bir ödemenin nakit veya kredisi olan tek bir geri ödeme olabilir. Bu, kağıda aşağıdaki adımları nasıl yazmam gerektiğini söylerdi:

  1. Kullanıcı tarafından gönderilen denetleyiciden veri almak için bir yöntem oluşturun.
  2. Tüm girişleri değerler, geri ödeme türleri ve nedenlerle doğrulayın.
  3. Tüm onaylamalar geçerse, geri ödeme tablosunda bulunmayan rastgele alfanümerik bir uzunluk 10 sayısı oluşturun (özyinelemeli kontrol)
  4. Doğrulama, uygun bir doğrulama hatası mesajı ile yanıt vermezse, yanıt yapısına karar verin.
  5. Bir veritabanı işlemi başlat
  6. İade ile ilgili değerleri geri ödeme tablosuna ekleyin, reason_reason, is_premium_customer
  7. Eklemenin başarılı olması durumunda, son ekin kimliğini alın
  8. Return_id ile birlikte fk_refund, fk_item, miktar, is_cash ile ilgili ödeme değerlerini ödeme tablosuna ekleyin
  9. Her şey yolunda giderse, veritabanı işlemini tamamla
  10. Herhangi bir sorun varsa, geri alma veritabanı işlemi
  11. Veri tabanı işleminin uygun yapıdaki başarısına bağlı olarak başarı veya başarısızlık mesajı ile yanıtlama
  12. Kontrol cihazını ve bu yöntemi bağlayın

Planı adım adım izleyin, şimdi kodu yazın

Adım adım plan yaptıktan sonra kod yazmaya başlayabilirsiniz. Daha sonra, yöntem isimleri, veritabanı bağlantısı ve diğer detayların nasıl alınacağı hakkında daha detaylı bilgi alabilirsiniz.

Dile ve çerçeveye bağlı olarak doğrulama kodunun nerede kalması gerektiğine de karar verebilirsiniz.

Şirket ve kültür destekliyorsa ve teşvik ederse test bile yazabilirsiniz.

Çözümünüz zihninizde belirgin olduğunda ve kağıda adım adım bir eylem planınız varsa, şimdi kod yazabilirsiniz.

Parçaları, işlenmesi ve bağlanması daha kolay olacak şekilde bile kesebilirsiniz.

Örneğin, test mantığı ayrı olarak yazılabilen ve kendi başına test edilebilen bir şey olabilir. Çözümü oluşturmak için birbirine bağlanabilecek bağımsız parçalar hakkında düşünüyor.

Sonuç

Bir sonraki görevinle karşılaştığında, başından beri kod yazmaya başlama.

İlk önce problemi ele alın, sonra adım adım bir çözüm bulun. Bu en iyi, kağıt üzerindeki ekrandan uzakta yapılır.

Ardından, çözümünüzü iyileştirin ve birisiyle görüşün. Memnun kaldığınızda, bu çözümü koda çevirin. Bu biraz metodik ama çok etkili.

Kod her zaman çözüm için bir çözümdür, çözümün kendisi değildir.

Bu ana kadar ulaştıysanız, lütfen bana biraz "alkış" bırakın :).

Okuduğunuz için teşekkürler!

Başlangıçta geshan.com.np de yayınlandı.