Merhaba! Foruma hosgeldiniz! Buraya yonlendirilmis olma nedeniniz ozellikle yeni gelenlerin siklikla yaptigi hatalardan birini yapmis olmaniz. Sorun degil! Yaptiginiz hatanin aciklamasini ve cozumunu asagida bulabilirsiniz. Ilgili kismi okuduktan sonra yaziniza geri donup duzeltmekten cekinmeyin lutfen. Kolay gelsin!
1. Kodunuzu oldugu gibi yapistirmissiniz
Kullanmakta oldugunuz forum yazilimi, yazilari bicimlendirmek icin bir takim kurallara sahip. Kodunuzu yazi kutusuna oldugu gibi girdiginizde okumasi zor ve hatali bir sekilde cikiyor. Bunu onlemek icin asagidaki yontemlerden birini kullanmaniz gerekiyor:
- Kodu iki
```
satiri arasina almak - Kodu
[code]
ve[/code]
satirlari arasina almak - Kodu secip
</>
butonunu (veya CTRL+E kisayolunu) kullanmak
Cumle icinde gecen/tek satirlik kod parcalari icin soyle bir yontem daha var:
- Kod parcasini iki
`
arasina almak
Bu hataya dusmus olmaniz maalesef daha vahim bir duruma isaret edebiliyor:
2. Yazdiginizi geri okuma aliskanliginiz yok
Potansiyel onlarca insandan okumasini rica ettiginiz yaziyi, kendiniz vakit ayirip okumamissiniz. Bu buyuk bir bencillik ornegi. Lutfen sorunuza, en az baska insanlardan gostermelerini istediginiz ozeni gosterin.
3. Yazdiklariniz okunmuyor veya anlasilmiyor
Kimseden edebi saheser yaratmasini beklemiyoruz fakat arada bir noktalama isareti kullanmanizda fayda var. Birbiriyle alakasi olmayan konulari en azindan aralarina bosluk koyarak ayirirsaniz, bizi insan oldugunuza (ve bizi insan yerine koydugunuza) ikna edebilirsiniz belki.
4. Kodunuzu veya baska bir yaziyi resim (goruntu) olarak paylasmissiniz
Lutfen kodunuzu ve ilgili yazilari yazi olarak paylasin. (Sorun cikmamasi icin #1’i de okumak isteyebilirsiniz.) Bir sonraki paragraf bunun nedenini anlatacak, ilgilenmiyorsaniz atlayabilirsiniz.
Yazidan resme gecerken olusan bilgi kaybini bir kenara koydugumuzda bile uc buyuk problem kaliyor: Resimdeki yazinin fontunu, boyutunu ve rengini zevkimize ve okuma becerilerimize gore ayarlayamiyoruz, compiler, shell gibi yazi bekleyen yerlere kolayca aktaramiyoruz ve uzerinde degisiklik yapamiyoruz. Problemin cozumunun buyuk ihtimalle kodda degisiklik gerektirdigini goz onunde bulundurursak, kodun degistirilemeyen bir sekilde sunulmasi ayrica ironik.
5. Kodunuzu paylasmamissiniz
“Kodda bir hata olabilir” cevabi sizi tatmin ediyor mu? Cunku kodun kendisini gormeden probleminizle ilgili daha fazla bir sey soyleyemiyoruz. Lutfen kodunuzu paylasin. (Sorun cikmamasi icin #1’i de okumak isteyebilirsiniz.)
Bahsettiginiz sorunun ne oldugunu cok iyi bir sekilde anlamis olsak bile, buna yol acacak olasi kod parcalari sonsuz. Bu sonsuzluk uzayindaki problemleri ve cozumleri olasiliklarina gore siralayip begeninize sunmak yerine kodu paylasmanizi beklemeyi tercih ediyoruz.
Kodunu paylasamayan insanlarla cevaplarimizi paylasamayabiliyoruz.
6. Kodunuzun tamamini paylasmamissiniz (veya kodunuz calismiyor)
Kodunuzu paylasmissiniz, fakat paylastiginiz kisim eksik veya hatali. Kendi bilgisayarimizda calistiramiyor, cozmeye calistigimiz problemi olusturamiyoruz. (Veya problem paylastiginiz kodda yok.) Kodunuzun geri kalani hakkinda bir fikrimiz yok, varsa bile varsayimda bulunmak istemiyoruz. Yanlis varsayimda bulunursak yanlis (yani sorulmamis) bir soruyu cevaplayip bosa vakit harcamis olabiliriz.
Lutfen kodunuzun tamamini, kendi bilgisayarimizda calistirabilecegimiz sekilde paylasin. Yaninda, calistirmak icin gereken ekstra bilgileri (bkz: #7) vermeyi de unutmayin.
7. Kodunuzun nasil calistirilacagini soylememissiniz veya gereksinimlerini paylasmamissiniz
Kodunuz bir noktada disaridan bir girdi istiyor; bir dosyayi, vertitabanini veya baska kaynagi okuyor. Bizden bir sey bekliyor ve biz bu seyin ne oldugunu bilmiyoruz.
Kodunuza gereken kullanici girdilerinin ne oldugunu soylemeniz, kullandigi dosyalari, veritabanlarini paylasmaniz lazim. Veya daha da iyisi, kodu girdi beklemeyen bir hale getirebilirsiniz. Mesela kullanicidan girdi alip meyve
degiskenine atayan kod kismini meyve = "elma"
gibi bir satirla degistirirseniz size yardim etmek daha kolay olur. Ayni sekilde, sorunu cikartan bir database’i sifirdan yaratan kodu programinizin basina ekleyebilirsiniz.
8. Bahsettiginiz duruma (probleme) nasil vardiginizi soylememissiniz
Bulundugunuz yerdeki sikintiyi anlamak, bahsettiginiz problemi cozebilmek icin oraya nasil geldiginizi bilmeye ihtiyacimiz var. Varsa takip ettiginiz yazi, video, vs.'den baslayarak yaptiginiz adimlari ve sonuclari yazin lutfen. Bir terminalde calisiyorsaniz, girdiginiz komutlari ve ciktilarini paylasin. Bir soru veya odev uzerinde calisiyorsaniz, kendisini paylasin.
Bu arada ne yapmaya calistiginizi da bilsek fena olmaz. Sizi amacladiginiz sonuca yaklastirmayacak bir adim hakkinda soru soruyor olabilirsiniz. (“XY problemi”)
9. Soru sormamissiniz
Hatali bir kodu veya dersinizin odev metnini oldugu gibi paylasmissiniz. Tesekkurler, fakat bu bilgiyle ne yapacagimizi bilmiyoruz. Bir konuda yardima mi ihtiyaciniz var?
10. Veritabani semaniz eksik
Bir veritabani ile ilgili bir soru soruyorsunuz, belki bir query ile ilgili yardim istiyorsunuz. Size yardim edebilmemiz icin ilgili tablolarin neye benzedigini bilmemiz, hatta belki kendi database’imizde kopyalarini yaratmamiz lazim. Lutfen veritabanini bir kod yardimiyla yaratiyorsaniz o kodu paylasin, veya asagidaki yontemlerden birini kullanarak semayi veya tablo tanimlarini alin:
- SQLite kullaniyorsaniz
.schema
komutu - PostgreSQL kullaniyorsaniz
\dt <tablo>
komutu - MySQL kullaniyorsaniz
SHOW CREATE TABLE <tablo>
sorgusu
11. Kullandiginiz program, kutuphane, sunucu veya hizmetin ne oldugunu belirtmemissiniz
Sordugunuz sorunun cevabi –ozellikle arama motorlari tatmin edici bir cevap veremiyorlarsa– kullandiginiz seyin markasina veya modeline (versiyonuna, surumune) bagli olabilir.
Kullandiginiz programlarin, programlama dilinin, kutuphanelerin, uzerinde islem yapiyorsaniz isletim sisteminin, baglandiginiz sunucu ve hizmetlerin isimlerini ve versiyonlarini (surumlerini) belirtmeniz lazim.
12. Ne oldugu belirsiz bir aciliyet var
Durumunuzun “acil” oldugunu soyluyorsunuz fakat bu aciliyetin neden, nasil, ne kadar sureligine oldugunu belirtmemissiniz. Sorunuz on dakika icinde cevaplanmazsa bir sirket mi batacak, yoksa pazartesiye yetismezse kotu bir ogrenci sinifta mi kalacak bilemiyoruz.
Lutfen durumun niye ve ne kadar sureligine acil oldugunu, ve bu detayin bizi neden ilgilendirdigini aciklayin. Veya “acil” ifadesini, unlemlerini kaldirin.
13. Hata mesajini paylasmamissiniz
Bahsettiginiz seyin hata vermesine uzulduk, fakat hata mesajini bizimle paylasmadiginiz surece yapabilecegimiz cok bir sey yok. Daha dogrusu, yapabilecegimiz sonsuz sey var fakat hangisinin size yardimci olabilecegini tahmin etmemize imkan yok. Lutfen hata mesajinin tamamini, yazi olarak paylasin.
14. “Kodlar” degil, “kod”
"Kod"un eski anlami “kanun sistemi”, daha da eski anlami "kitap veya yazi"dir. (bkz: code - Wiktionary) Tekil bir nesnenin kodlarindan bahsedemeyiz, cunku birden fazla kodu varsa bile, bunlardan bahsederken, bunlar birlesip daha buyuk veya daha karmasik tek bir koda donuseceklerdir.
15. Paylastiginiz kodun alinti oldugunu soylememissiniz
Baskasinin kodunu paylasmanizin bizim icin hic bir sakincasi yok*, fakat bunu belirtmezseniz sizin en az paylastiginiz kodu yazabilecek kadar deneyimli/bilgili oldugunuz varsayilir. Bunun uzerine “if’i nasil yazacagim” gibi [temel] bir soru sordugunuzda bizimle dalga geciyor gibi durursunuz. Lutfen kodunuzu nereden aldiginizi ve ne kadarini anladiginizi belirtin.
16. Alintiyi nereden yaptiginizi soylememissiniz
Yaptiginiz alinti eksik, veya baglami disinda oldugu icin pek bir sey ifade etmiyor. Ozellikle, hakim olmadiginiz konularda dogru alinti yapma olasiliginiz cok dusuk. O yuzden iyisi mi siz kaynagini yazin, biz eksik bir sey bulursak kendimiz gidip bakalim.
Meta: Eklemek istediginiz bir seye sayi verirseniz 100’den buyuk olsun lutfen ve ayri cevapla ekleyin.