Şimdi Ara

Programlama Önerisi (Kod yok)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
9
Cevap
0
Favori
494
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar,
    Bir proje üzerinde çalıştıktan sonra uzun bir zaman projeye bakmadığınızda ve daha sonra bir problemi çözmek için açtığınızda o karmaşık kodları görünce ne yaparsınız? Projeye sıfırdan başlamam çok zor, yaklaşık 4000 satır kod var ve nerede ne yaptığımı hiç hatırlamıyorum. Ne önerirsiniz? Bundan sonrası için ve aynı zamanda o proje için nasıl bir yol izleyebilirim?



  • Programın içine kodlarla ilgili hatırlatma notu koymadıysan ve kodların cogunu hatırlamıyorsan işin zor.
  • evet. ben hatırlatma notu koymam ama fonksiyon isimleri ve değişken isimlerini çok iyi veririm.
    mesela GetData(string s) diye bir fonksiyon yazmışsan ve ileride bunun ne oldugunu hatırlaman imkansız.
    ama GetUserLocationByMemberName(string memberName) diye bir fonksiyon yazmışsan ve bussiness katmanına iyi implement etmişsen, kod içinde bu fonksiyonu çağırmışsasn görür görmez, kulanıcının locationunu , kullanıcı adından elde ettiğin için fonksiyon içeriklerine bakman gerekmez. kodun ne yaptıgını da hatırlaman gerekmez. sadece memberNamei gönderdiğinde userLocationu alacağını bilirsin. üstelik sen bu kodları komple başka birisine devredersen de devrettiğin kişi sanki baştan aşağıya kendisi yazmış gibi anlayabilir kodlarını.
  • not yazmak, fonksiyon ve nesnelerin isimlerini anlamli vermekte fayda var.

    hatta uml semasini cikarabilirsin. duz yazidan cok grafiksel olarak class yapisini gordugunde daha anlam kazanir.
  • Yani bundan sonra yaparken genel olarak isimlendirmede ve de not bırakmada dikkat edeceğim, UML şemasının ne olduğunu bilmiyordum şimdi araştırıyorum teşekkürler.
  • Biz buna "Documentation" diyoruz, bir yazlimcinin ilk bilmesi gereken konu!

    Ornek, bir methodun dokumanlanmsi, @param. @return, @see bunlar sadece yorum degil, eclipse bunlari html dokumanina cevirebilme ozelligi var daha sonra basvurur icin, tipki javanin tum kendi classlarinin dokumanlandigi gibi
     
    /**
    * Returns an Image object that can then be painted on the screen.
    * The url argument must specify an absolute {@link URL}. The name
    * argument is a specifier that is relative to the url argument.
    * <p>
    * This method always returns immediately, whether or not the
    * image exists. When this applet attempts to draw the image on
    * the screen, the data will be loaded. The graphics primitives
    * that draw the image will incrementally paint on the screen.
    *
    * @param url an absolute URL giving the base location of the image
    * @param name the location of the image, relative to the url argument
    * @return the image at the specified URL
    * @see Image
    */
    public Image getImage(URL url, String name) {
    try {
    return getImage(new URL(url, name));
    } catch (MalformedURLException e) {
    return null;
    }
    }




    Ayrica 4000 satir kod nedir ki ? Methodlarin ve classlarin ne yaptigini bilirsen ? Class diagram yapsaydin cok kolay anlardin herseyi;
     Programlama Önerisi (Kod yok)




  • quote:

    Orijinalden alıntı: Moribito

    Biz buna "Documentation" diyoruz, bir yazlimcinin ilk bilmesi gereken konu!

    Ornek, bir methodun dokumanlanmsi, @param. @return, @see bunlar sadece yorum degil, eclipse bunlari html dokumanina cevirebilme ozelligi var daha sonra basvurur icin, tipki javanin tum kendi classlarinin dokumanlandigi gibi
     
    /**
    * Returns an Image object that can then be painted on the screen.
    * The url argument must specify an absolute {@link URL}. The name
    * argument is a specifier that is relative to the url argument.
    * <p>
    * This method always returns immediately, whether or not the
    * image exists. When this applet attempts to draw the image on
    * the screen, the data will be loaded. The graphics primitives
    * that draw the image will incrementally paint on the screen.
    *
    * @param url an absolute URL giving the base location of the image
    * @param name the location of the image, relative to the url argument
    * @return the image at the specified URL
    * @see Image
    */
    public Image getImage(URL url, String name) {
    try {
    return getImage(new URL(url, name));
    } catch (MalformedURLException e) {
    return null;
    }
    }




    Ayrica 4000 satir kod nedir ki ? Methodlarin ve classlarin ne yaptigini bilirsen ? Class diagram yapsaydin cok kolay anlardin herseyi;
     Programlama Önerisi (Kod yok)

    Yazılımcı değilim lisede okuyorum ondan bilmiyorum :) (Lisede anadolu lisesi yani ben kendi başıma öğreniyorum).
    Sorunum bir fonksiyonun düzgün çalışmaması neden düzgün çalıştığını da biliyorum, ama değişken isimlerim ve değişkenlerle yaptığım substring işlemleri falan çok karmaşık. O yüzden burada çok tıkandım. Şu "Documentation" olayını aslında birazcık da olsa biliyorum sanırım; /// <summary> gibi birşeydi sanırım C#'ta (Visual Studio'da /// yazınca otomatik çıkartıyor zaten parametreleri falan fonksiyon için). 4000 satır kod sizin için az olabilir ama bana ve projelerimin çapına göre az değil, içinde kaybolmam için yeterli. Dediğim gibi hangi fonksiyonun ne yaptığını hangi sınıfımın ne değer tuttuğunu biliyorum ama stringlerle biraz garip uğramışım işte. Class Diagram'ı da bilmiyorum dediğim gibi henüz yazılımcı değilim, "amatör programcı" olabilir belki. Teşekkürler.




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • lisede okuyup 4000 satir kod yazicak hale gelmek, bravo valla.

    Anlamadigin methodu cozmenin yolu debug etmektir, satir satir methodun ustunden gecerek vede degiskenleri inceleyerek methodun isleyisini anlayabilirsin.
  • quote:

    Orijinalden alıntı: Moribito

    lisede okuyup 4000 satir kod yazicak hale gelmek, bravo valla.

    Anlamadigin methodu cozmenin yolu debug etmektir, satir satir methodun ustunden gecerek vede degiskenleri inceleyerek methodun isleyisini anlayabilirsin.

    Anladım Watch olayı yani, neden denemedim bilmiyorum vallahi teşekkürler.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.