• 05-05-2022, 18:02:11
    #1
    Merhaba arkadaşlar artık karar verdim forumda kimseye olumsuz eleştiri yapmayacağım herkes aşırı alıngan. O yüzden gördüğüm bazı şeyleri buradan söyleyeceğim. Bu script forumda satılan scriptlerden biri bazı yerleri sansürledim aslında sansürlenmesi çok önemsiz ancak ben scripti ifşa etmemek adına buradan paylaşıyorum. Bu scriptte gördüğünüz üzere bir php dosyası 8308 de bitmiş. Hepsi form gönderme işlemleri ve tüm işlemler birbiriyle alakasız. İşte biz bu koda spagetti diyoruz. Normalde bu kod örneği komple yanlış ancak diyelim bu tarz kod yazıyorsunuz ancak bu tarz kod yazıyorsanız her şeyi ayırım. Örneğin post yayınlayacaksınız. Post işlemleri ile ilgili tek dosya olsun. Ayrıca işlemler mümkün olduğunca fonksiyonlarla yapın. Sürekli kodu kopyala yapıştır belli yerleri değiştirip uzatmayın. Bir de gerçekten bir kod dizini 1500 satırı geçiyorsa arada bir durup düşünüp bu kod nereye gidiyor diye sorgulayın. Acaba okunaklı ve düzenli olması adına parçalasam mı diye düşünün iyi çalışmalar.


  • 05-05-2022, 18:04:40
    #2
    Merhaba, eskiden bende bu tarz kod yazıyordum fakat artık gerçekten bu kod yapısını bi sonlandırmanız gerekiyor piyasada bu türz kodlarla proje yapılıyor ve sitenin sahibi revize isteyince başka bir yazılımcı ile çalışıyor ve kodlar hiç okunaklı olmuyor.

    Yazılımcı arkadaşlarım değişken isimlerine, yorum satırlarına, gereksiz kodlara ve spagetti yapıya lütfen dikkat edelim.
  • 05-05-2022, 18:06:03
    #3
    Platin üye
    Kod satırının yüksek olması bir sorun olacağını sanmam önemli olan kodun sağlıklı ve yorucu olmadan çalışıyor olması. Genelde yapımcılar tek dosya üzerinden işlemleri sağlar ki lisans islemi basit olsun. Bende hep bir ana fonksiyon dosyasında saklarım o dosya yoksa yazılım coptur manasına gelsin diye . Bu nedenle kod satiri yükselebilir fakat her fonksiyonu sadece cagirdiginda kullanırsan o zaman problem olmaz 🙂
  • 05-05-2022, 18:18:22
    #4
    OziyWeb adlı üyeden alıntı: mesajı görüntüle
    Kod satırının yüksek olması bir sorun olacağını sanmam önemli olan kodun sağlıklı ve yorucu olmadan çalışıyor olması. Genelde yapımcılar tek dosya üzerinden işlemleri sağlar ki lisans islemi basit olsun. Bende hep bir ana fonksiyon dosyasında saklarım o dosya yoksa yazılım coptur manasına gelsin diye . Bu nedenle kod satiri yükselebilir fakat her fonksiyonu sadece cagirdiginda kullanırsan o zaman problem olmaz 🙂
    Yanlış düşünüyorsunuz hocam. Her işlemi ana fonksiyon dosyasından yaparsanız o kodları düzenleyecek olana da yazık olur. Geliştirilmesi için sürdürülebilirliğine de yazık olur.
  • 05-05-2022, 18:21:55
    #5
    Platin üye
    blap adlı üyeden alıntı: mesajı görüntüle
    Yanlış düşünüyorsunuz hocam. Her işlemi ana fonksiyon dosyasından yaparsanız o kodları düzenleyecek olana da yazık olur. Geliştirilmesi için sürdürülebilirliğine de yazık olur.
    Herşeyi yerli yerine koyar yaptığın her işlem için not eklersen ///// fiyat alanı //// gibi gibi çok basit olur .
  • 05-05-2022, 18:22:40
    #6
    OOP bunun için var. Her db işlemi için bir class, Her modül için bir class, routerler, get,post işler için farklı işleyiciler..

    Bu gelişi güzel yazılmış kodlar sadece küçük kapsamlı projeler için kullanılabilir. Büyük çaplı projelerde karışıklığa yol açacak ve geliştirmeyi zorlayacaktır.

    Maalesef header fonksiyonundan sonra exit; bile yapmıyoruz..

    Güzel bir konuya değinmişsiniz.
  • 05-05-2022, 18:28:14
    #7
    dev
    Kurumsal Üye
    blap adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar artık karar verdim forumda kimseye olumsuz eleştiri yapmayacağım herkes aşırı alıngan. O yüzden gördüğüm bazı şeyleri buradan söyleyeceğim. Bu script forumda satılan scriptlerden biri bazı yerleri sansürledim aslında sansürlenmesi çok önemsiz ancak ben scripti ifşa etmemek adına buradan paylaşıyorum. Bu scriptte gördüğünüz üzere bir php dosyası 8308 de bitmiş. Hepsi form gönderme işlemleri ve tüm işlemler birbiriyle alakasız. İşte biz bu koda spagetti diyoruz. Normalde bu kod örneği komple yanlış ancak diyelim bu tarz kod yazıyorsunuz ancak bu tarz kod yazıyorsanız her şeyi ayırım. Örneğin post yayınlayacaksınız. Post işlemleri ile ilgili tek dosya olsun. Ayrıca işlemler mümkün olduğunca fonksiyonlarla yapın. Sürekli kodu kopyala yapıştır belli yerleri değiştirip uzatmayın. Bir de gerçekten bir kod dizini 1500 satırı geçiyorsa arada bir durup düşünüp bu kod nereye gidiyor diye sorgulayın. Acaba okunaklı ve düzenli olması adına parçalasam mı diye düşünün iyi çalışmalar.


    Dun toplantida kendini senior sanan birine neden restful api kullanmasi gerektigini ve single responsibility principle'in onemini anlattim ama kisiye gore update yaparken once butun kayitlari silmek sonra yeniden eklemenin kolay bir yol oldugunu ve boylece delete icin endpoint'e gerek olmadigini belirtti. Bu kisinin yaptigi cilginliklar anlatsam oturur aglarsin.
  • 05-05-2022, 18:30:34
    #8
    Riga adlı üyeden alıntı: mesajı görüntüle
    OOP bunun için var. Her db işlemi için bir class, Her modül için bir class, routerler, get,post işler için farklı işleyiciler..

    Bu gelişi güzel yazılmış kodlar sadece küçük kapsamlı projeler için kullanılabilir. Büyük çaplı projelerde karışıklığa yol açacak ve geliştirmeyi zorlayacaktır.

    Maalesef header fonksiyonundan sonra exit; bile yapmıyoruz..

    Güzel bir konuya değinmişsiniz.
    İnsanlar oop u hala class yazmak zannediyorlar hocam. Trait, interface, doctirine kullanmaktan herkes bir haber. Ben daha doctrine kullanmayı öğreten Türkçe kaynak görmedim
  • 05-05-2022, 18:43:52
    #9
    Üyeliği durduruldu
    Uzun bir süre spagetti php yazdıktan sonra laravel'e geçtim. Çok memnunum ve bu sorunu tamamen ortadan kaldırdım. Kendi MVC yapımı hazırlayabilirdim ama hazır bir yapı varken baştan yazmanın gerçekten boş olduğunu düşündüm.
    Ortalama 1.000 - 2.000 satır sayısının üstündeki dosyalar normale göre daha yavaş çalışır. Sürekli bir kontrol gerektirir ve aradığını belki 4.000. satırda bulur ve bu yavaş çalışmayı ağır yük altında anlayabiliriz.