eaturk58 adlı üyeden alıntı:
mesajı görüntüle
Console dan biri bir sey yazdi. Bunun öncelikle ne oldugunu nasil bileceksin? mesela adam tarih yazdi? ülkeye göre tarih formatlari da farkli olabilir. Mesela ben 10.12.2017 yazdim biri 2017-12-10 yazdi biri 10/12/2017 04:45:58 yazdi.. Senin mantigina göre bunu ayirt edebilmesi lazim yani girilen degiskenin tarih oldugunu bana söylemesi lazim..
Yine ayni sekilde 10 sayisi girdi.. Peki bu 10 integer 10 mu yoksa 10.0 olarak double ya da float mu? Ya da binary sistemde 2'nin karsiligi mi?
Ben oraya true yazdim, bunu program string olarak mi almasi lazim yoksa yazi olarak mi? belki ben ekrana true false yazmasini istiyorum, boolean olarak görülmesin. Yine ayni sekilde 10 numara adamsin yazdigimda oraki 10 u matematiksel olarak istemiyorumdur?
görüldügü gibi kimin hangi türde girecegi kesin olmadigi icin en mantiklisi tüm girilen degeri string olarak vermektir. Baska türlü kimse isin icinden cikamaz.
Dikkat etmen gereken sey, ReadLine yazdiginda fonksiyonun geri dönüs degerinin string olarak görmen. O yüzden kullanacagin her fonksiyonun geri dönüs tipini bilmen gerekiyor. Kafana göre deger bekleyemezsin. Fonskiyon da sana geri dönüs tipini söyler. Ya da geri dönüs degeri yoktur mesela.
Bir arkadas demis programlama zor diye, bu lafa da katilmiyorum. Herhangi bir zorlugu yok. Hevesi olan adam pratik yapa yapa bu isi ögrenir. Her iste oldugu gibi bu da bir istir.
Bir de bir grup var algoritma ve ingilizce hastasi. 15 yildir yazilim ve elektronikle ugrasiyorum, hayatimda algoritma nedir ögrenmedim
Cünkü öyle bir olay yok. Cahil cühela adamlarin ya da yeni baslayanlardan para kazanmaya calisip kitap yazanlarin uydurduklari bir sey. Daha acik olmak gerekirse; algoritma denilen sey aslinda programin cozum/gidis yoludur ve bu yol da her uygulamaya göre degisiklik gösterir o yüzden genel bir algoritma yolu ögretilmesi mümkün degil, sadece bazi kod parcaciklarin davranis bicimleri ögretilebilir. Mesela if'in icine yazilan sart degerine göre farkli kod parcaciklari calistirilabilir, döngü su ise yarar ve su artlar altinda söyle davranir gibi. Ancak bunlar algoritma degil temel programlama bilgisi.Cok duyuyorum, algoritma olmadan olmazmis
adam dandik bir UML diagrami cizemiyor algoritmanin olmazsa olmaz oldugunu soyleyebiliyor. Algoritma ögrenmek diye bir olay yok. Yaptikca uyguladikca ögrenirsin her seyi. Bazen ortak seyler cikarirsin bazen farkli seyler. Her yazdigin kod parcacigi sana farkli seyler ögretir. O yüzden önce algoritma ögren diyen adamlardan 100 metre uzak dur.. Ingilizce olayina gelince (kimse bahsetmemis), benim acimdan yazilimci dedigin ingilizce bilmek zorunda. Ama yazilim yapan kisiye ingilizce sart olmayabilir. Ben birine yazilimci diyeceksem (bir önemi olmayabilir), ingilizce bilmesini beklerim. cünkü bana göre yazilimci yeni teknolojilere hemen adapte olabilmeli, takip edebilmeli. Ingilizce bilmeyen biri hem yeteri kaynak bulamaz hem de gec takip eder hatta bazen hic takip edemez. Geri kalan bir adam da benim acimdan yazilimci olamaz. Ama yazilim ögrenebilir elbette. Bunlar sart degildir.
Sana tavsiyem öncelikle güzel bir kitapla basla. Videolarla ya da tutoriallerle olacak is degil. Cünkü bunlar bir cok seye deginmiyor ve eksik ögrenmenizi sagliyor. O yüzden kazik kadar mühendisler paldir küldür kod yaziyor, hic bir sey ögrenmemisler. O kadar adamin kodunu inceliyorum, bunlar farkli dünyadan geliyor diye düsünmüyor degilim
Bir de kendilerine senior diyebiliyorlar.. Türkce kaynak istiyorsan eskiden sefer algan'in kitabini incelemistim ve gayet yeterliydi OOP mantigini ögrenmek icin. Onunla devam etmeni tavsiye ederim. biraz sikici olabilir console olsa da ama c#'i ögrenmek demek OOP kavraminin iyi ögrenmesi demek. Diger türlü proje biraz büyünce her sey karisir, karistirilir. Kodunu okumaya calisan adama iskence olur ve kimse de isin icinden cikamaz
Calistigim yerde 100 binlerce satirlik projelerle ugrasiyoruz. Herkes paldir küldür yazsaydi kimse icin icinden cikamazdi. Bu olaya biraz da clean code deniyor. Ama her halukarda temel kavramimiz nesneye yönelimli programlama (OOP).