Şimdi Ara

Programlama da nasil minimalist olunur?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
9
Cevap
0
Favori
1.196
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar, hayatimin bircok alaninda (yeme, icme, giyinme) minimalist oldugumu farkettim. Ama soz konusu programlama olunca minimalist olamiyorum. Bu benim icin oyle zor birseyki... Mesela derdimi soyle anlatayim, bir class yazarken aman su metod da olsun yok su metod olmazsa olmaz yok yok buda olsun gibi dusunceler aklimi sariyor ve ben bu dusunceleri bastirinca bu seferde eglenemiyorum, yani yazdigim koddan zevk alamiyorum. Class olusturma konusu da ayni. Mesela su class olmazsa olmaz, su classda olsun, daha guzel gozuksun, tasarim sahane olsun gibi dusunceleri gerceklestirmek hem cok eglenceli hem de cok yorucu oluyor. Sanirsam kontrol hastasiyim (bende bilmiyorum) Yada cok egolu bir insanim. Yani gercekten anlamiyorum, eger ben minimalist olacaksam ve yazdigim koddan zevk alamayacaksam yani eglenemeyeceksem, ozaman niye kod yaziyorum? Kendimle celisiyorum sanirim.


    Sizden rica etsem kendi yazdiginiz kodlari bana gosteririrmisiniz? Belki sizin kodlarinizi incelerim ve biraz ilham alirim aaa bak bende boyle yapmaliyim gibisinden.


    Programlamada minimalizm ile ilgili onerebileceginiz bir kitap varmi?


    < Bu ileti mobil sürüm kullanılarak atıldı >







  • kullanıcı isminle uyumlusun ozaman kod arıyorsan githubda çok var açıp incele mesela benimki https://github.com/goksenpasli i ha bizim yazdığımız kodun doğru olduğu ne malum belki bizde yanlış yazıyoruz

    şu an takvim yazıyorum commitin dibine vuruyorum  demekki ben de çok kötü yazıyorum kafiye uydu

  • Github sayfanizi inceledim. Suan C# ile ufak bir oyun yapiyorum. Oyunu yaptiktan sonra github ta paylasacagim. Oyunun kodlari incelenirse belki ozaman nedemek istedigim daha iyi anlasilir.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Sen daha object orientation nedir, anlamamışsın. Herşeyi baştan tek bir class'a koymak diye birşey yok. Eklemek istedikçe extend ediyorsun işte, inheritance'ın amacı o zaten. Ama bir field, bir metot eklemek için de extend edilmez. İşte bu zaten software design oluyor.
    Dünya üzerinde profesyonelce yazılmış open source OO framework'ler var; Java SE, .Net, Android.. aç bak bakalım, adam nasıl başlıyor sonra peyderpey nasıl extend ediyor, incele. Nerde interface yapmış, nerde abstract yapmış, nerde extend yapmış... kafasını kullanan için lebalep bilgi var. İlaçlarını aksatma.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Minimalist?

    Minimalist denince benim aklıma TinyBasic veya TinyBC geliyor. İkisini de GitHub da bulabilirsin.

  • Minimalizmi kafanda düzgün uyarlayamamışsın bence programlamaya. Bütün kompleks mantığı derinlere gömüp, bol class yazarsan zaten kullandığın, hiyerarşinin sonundaki class oldukça minimalist olur, temel akışın bulunduğu yer de ingilizceye yakın ve kodlama bilmeyenin bile anlayamayacağı basitlikte olur. OOP'un olayı zaten bu, geniş çaplı ve genel bir şekilde yazarak ilerlersin, bir daha hiç o kompleks kısımları görmene gerek kalmaz.


    Az class oluşturmak minimalist bir yaklaşım değildir, tam tersine karmakarışık, her şeyin bir yerde toplandığı bir çorbaya sebebiyet verir. Biraz amatör olduğunu ve OOP dillerle profesyonel deneyimin olmadığını tahmin ediyorum. OOP'un gücünü görmek için büyük, on binlerce class içeren projeleri incelemeni öneririm.

  • Senin sorunun ne dostum biliyomusun?


    OOP dizayn olarak eksikliklerin var. Software engineering kitabı oku biraz.


    Öyle class'ın içine şunuda koyayım bunuda koyayım falan olmaz.


    Domain model diye bir şey vardır mesela, Bir de bir işi yapmanın yolu yordamı vardır. Biz dizayn pattern'i deriz bunlara. Bu tip metodolojileri bilmen lazımki yazdığın kodta ne nerede hem sen anla hemde senin kodunu yazan adam anlasın.

    Hadi güzel günüme geldin sana örnek vereyim.


    Örneğin mesela bir class yazacaksın, bu class'ta 4 tane string attribute var, 2 tane integer var, bir kaç tane boolean falan var. Toplam 10 tane falan attribute olsun. Şimdi sen güzel olsun diye mantıklı attribute'ları parametre olarak alan 5-6 tane constructor yaptın diyelim.

    Normalde bu tip class'lara builder yazmak gerekir. Cünkü bu class eğer bu kadar çok attirbute'u varsa oluşacak objelerin yaratılmasıda kompleksleşecektir. Bu tip durumlarda builder kullanmak daha mantıklıdır.


    Yazılım dediğin sadece class'lardan oluşmaz. Belli başlı layer'ları vardır.


    Ya modüler bir yapı kullanırsın - Belli bir işi yapan class'lar, modeller, data access classları bir paket altına toplanıp ona module ismi verirsin.

    Ya da standart layerlar kullanırsın - Ör. Domain, Repository, Service, View vs.


    Bence bir software engineering kitabı al ve bunları oku.





  • The_eXXe kullanıcısına yanıt

    Çok teşekkür ederim. Bu tip kitapları alabilirim evet.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.