56 puan yazan kciter1 2023-08-16 | 10 yorum | WhatsApp'ta paylaş

Yazılım, herhangi bir problemi çözmek için vardır. Bu nedenle geliştirici problemi anlar, ona uygun şekilde tasarlar ve uygular. Bu süreçte problemi anlamak ve tasarlamak açısından soyut düşünme ile yapısal düşünme, geliştirici için güçlü araçlardır.

Genellikle soyut ve yapısal düşünme, anlaşılması zor ya da muğlak biçimde açıklanır. Ancak bu tür düşünmenin somut yöntemleri açıkça vardır. Bu sunumda, geliştiricilerin soyut ve yapısal düşünmesini sağlayan somut yöntemler ile bu düşünme biçimi sayesinde alan modelleme, refactoring ve mimari gibi yazılım tasarımı yaklaşımlarının nasıl ele alınacağı tanıtılıyor.

  • Geliştiricinin yaptığı iş program oluşturmaktır
  • Program oluşturmanın nedeni belirli bir problemi çözmektir; problemi çözmenin nedeni ise iş ihtiyaçlarına hizmet etmektir
  • Program geliştirirken süreç dört adımdan oluşur
    • anlama / analiz -> tasarım -> uygulama -> geri bildirim
  • Geliştirici kıdem kazandıkça yalnızca kod yazmakla kalmaz, bu aşamaların tümüne dahil olur
  • Kıdemli geliştirici, deneyime dayalı sezgiyle problemleri hızlı çözer
  • Ancak sezgi riskli olabilir. Bu nedenle metodoloji öğrenmek önemlidir
  • Soyut ve yapısal düşünme, böyle metodolojilerin temelidir
  • Soyutlama, unsurlar içinden ortak olanı ya da ilgilenilen kısmı çekip çıkarmaktır
  • Bu yüzden soyutlama, nesneleri basitleştirip ardından yeniden yorumlamak olarak görülebilir
  • Unsur indirgemeci düşünme ile basitleştirme ve yeniden yorumlama yapılabilir
  • Yalnızca unsurlar değil, davranışlar da soyutlanabilir
  • Soyutlamanın katmanları vardır
    • Uygun soyutlama seviyesi belirlenmelidir
    • Aşırı soyutlama, somut karşılığın anlaşılmasını zorlaştırdığı için iyi değildir
  • Yapısal düşünme, içeriği çakışmadan ve boşluk bırakmadan düzenlemektir
    • MECE framework'üne benzer
  • Önemli olan, her durumda mutlaka çakışmasız ve eksiksiz düzenleme yapmak değildir
  • Yapılandırmanın da soyutlamada olduğu gibi aşamaları vardır. Bir adım daha uzaktan bakmak mümkündür
  • Soyut ve yapısal düşünme biçimini uygulamanın somut yöntemleri vardır
    • top-down ve bottom-up
    • model
      • Classification
      • Abstraction
      • Generalization
    • framework düşüncesi
  • Soyut ve yapısal düşünme yazılım tasarımına uygulanabilir
  • Yazılımı uygulama aşaması genel olarak üçe ayrılır: alan modelleme, mimari ve kod yazımı
  • Alan modelleme, gereksinimleri soyut olarak çıkarmaya ve aşamalı biçimde genişletmeye uygundur
  • Mimari, işin nasıl yapıldığını gösterir
    • Nasıl çalışılır, nasıl bölünür
  • Mimari, gereksinimler -> konsept -> uygulama -> geri bildirim sürecini izler
  • Soyut mimari konseptler aşamalı olarak somutlaştırılabilir
  • Programlama paradigması, yazılımın bileşenlerine bakış açısıdır
  • Mantık üç açıdan ele alınabilir: Function, Usecase, Aspect
  • Syntactic sugar, soyutlanmış programlama söz dizimidir
    • Zararlı da olabilir
  • Refactoring, paradigma, kod büyüklüğü, sahiplik, tekrar olup olmaması, değiştirilebilirlik ve bağımlılık olmak üzere 6 açıdan değerlendirilebilir
  • Refactoring'in üç yöntemi vardır: soyutlama, yapılandırma, genelleme
  • Soyut ve yapısal düşünme yeteneğini geliştirmek için çeşitli deneyimler yaşamak faydalıdır
  • Diyagramlaştırma büyük ölçüde yardımcı olur
  • Sezgi, deneyimci düşünmedir. Zaman kazandırabilir ama riskli olabilir
  • Desenler, soyut düşünmeyi öğrenmeye yardımcı olur
  • Soyut ve yapısal olan her şey mutlaka her derde deva değildir

10 yorum

 
gguimoon 2023-08-18

Sunum materyalleri ve içerik özeti için teşekkürler.

 
bbulbum 2023-08-17

Kullanıcı adından anladığım kadarıyla konuşmacı bizzat sizsiniz! Infocon çekilişini kazanamadığım için katılamadım ama sunum materyallerini paylaştığınız için teşekkürler :)

 
kciter1 2023-08-17

Teşekkürler. :D Umarım hazırladığım materyal faydalı olmuştur!

 
kuroneko 2023-08-17

Ayrıntılı özet için teşekkürler.

 
kciter1 2023-08-17

Özetini çıkarmak düşündüğümden daha uzun sürdü ^^;; Göz attığınız için teşekkürler!

 
rlwnd1104 2023-08-17

Güzel yazı ve özet için teşekkürler~

 
kciter1 2023-08-17

Olumlu değerlendirmeniz için teşekkür ederim :D

 
holyachon 2023-08-17

Keyifle okudum!

Uygun soyutlama düzeyi belirlenmelidir.
-> Burada bir yazım hatası var :)

 
kciter1 2023-08-17

Kontrol ettiğiniz için teşekkürler. :) Ama bir kez gönderi paylaşıldığında düzenleme yapılamıyor gibi görünüyor T_T

 
holyachon 2023-08-17

Aha, bunu bilmiyordum. Kontrol ettiğiniz için teşekkürler!