Şimdi Ara

Sizce bu temiz kod mu amelelik mi?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
4
Cevap
0
Favori
674
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar. Olabildiğince temiz kod yazmaya çalışıyorum. Fonksiyonlar ne kadar kısa tutulursa o kadar iyi olur diye duymuştum. Mesela bir kodda fonksiyonu kısalttım ama fonksiyon ve satır çoğaldı. Sizce bu temiz bir kod mu yoksa gereksiz uğraş mı?

    Temiz olmayan kod:
    #include "stdio.h"
    #include "stdlib.h"
    #include "stdint.h"
    #include "string.h"
    #include "stdbool.h"
    // eleman say - listele - ekle - sil

    typedef struct node
    {
    int32_t x;
    struct node *next;
    }node_;
    void elemanEkle(node_*,int32_t value);

    int main()
    {
    node_ *root;
    elemanEkle(root,2);
    printf("%d",root->x);
    return -1;
    }
    void elemanEkle(node_* head,int32_t value)
    {
    static bool i=true;
    if(i)
    {
    free(head);//free ekleyince çalıştı nasıl oldu bilmiyorum
    head = (node_*)malloc(sizeof(node_));
    head->x = value;
    head->next = (void*)0;
    i=false;
    return;
    }
    while(head->next != (void*)0)
    head = head->next;

    head->next = (node_*)malloc(sizeof(node_));
    head->next->next = NULL;
    head->next->x = value;
    }

    Temiz Kod:
    #include "stdio.h"
    #include "stdlib.h"
    #include "stdint.h"
    #include "string.h"
    #include "stdbool.h"
    // eleman say - listele - ekle - sil

    typedef struct node
    {
    int32_t x;
    struct node *next;
    }node_;
    void elemanEkle(node_*,int32_t);
    void elemanEkle_ilkDeger(node_*,int32_t);
    void elemanEkle_ikinciDeger(node_*,int32_t);

    int main()
    {
    node_ *root;
    elemanEkle(root,2);
    return -1;
    }
    void elemanEkle(node_* head,int32_t value)
    {
    static bool i=true;
    if(i)
    {
    elemanEkle_ilkDeger(head,value);
    i=false;
    return;
    }
    elemanEkle_ikinciDeger(head,value);
    }
    void elemanEkle_ilkDeger(node_* head,int32_t value)
    {
    free(head);//free ekleyince çalıştı nasıl oldu bilmiyorum
    head = (node_*)malloc(sizeof(node_));
    head->x = value;
    head->next = (void*)0;
    }
    void elemanEkle_ikinciDeger(node_* head,int32_t value)
    {
    while(head->next != (void*)0)
    head = head->next;

    head->next = (node_*)malloc(sizeof(node_));
    head->next->next = (void*)0;
    head->next->x = value;
    }








































    /*#include "stdio.h"
    #include "stdlib.h"
    #include "stdint.h"
    #include "string.h"
    // eleman say - listele - ekle - sil

    typedef struct node
    {
    int32_t x;
    struct node *next;
    }node_;
    void elemanEkle(node_*,int32_t value);

    int main()
    {
    node_ *root = (void*)0;
    elemanEkle(root,2);
    return -1;
    }
    void elemanEkle(node_* head,int32_t value)
    {
    if(head == NULL)
    {
    head = (node_*)malloc(sizeof(node_));
    head->x = value;
    head->next = NULL;
    return;
    }
    while(head->next != NULL)
    head = head->next;

    head->next = (node_*)malloc(sizeof(node_));
    head->next->next = NULL;
    head->next->x = value;
    }*/







  • metodlara bölmek hiç bir zaman amelelik değildir. Kod coğu zaman yazıldığı gibi kalmaz hep büyür. Temiz oldu mu diye merak ediyorsan birim testlerini yaz. O zaman doğru bölünmüş mü göreceksindir.



    < Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 28 Eylül 2019; 9:1:55 >
  • Hocam birim testi nedir açıklarsanız çok makbule geçer işime yarayacak bir şeye benziyor.
  • Yapay Zeka’dan İlgili Konular
    Sizce bu bir sorun mudur?
    4 ay önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.