Head design patterns kitabı çok iyi, bizim hocamız kullanıyordu. Ben de kitabı daha iyi anlayabilmek için başkalarına anlatma tekniğini kullanacağım. Videolar çekmeyi düşünüyorum. Ama herkesin anlayabileceği gibi anlatmak istiyorum biraz şenol hoca gibi. yle bir hevesim var... Kitabın TR çevirisini baya aradım da bulamadım. Bilen eden varsa alırım bir dal. next next next install

Size bir hastalık adı paylaşayım: daha iyi nasıl yapabilirim. Bazen yazdığım kodlar gerçekten doğrusu bu mu diye düşündürüyor beni. Bu sebeple sürekli başkalarının kodlarını, referans tipleri nasıl kullandığına çok dikkat ederim. Bir süre sonra baktim ki bunu takıntı haline getirdim ve projelerde ilerleme sağlayamadım. hastalik degil hocam, bakis acisi, kültür.. "Isvicre Kalitesi" diye bir sz var, isvicre'de üretilen her üründe hemen hemen isvicre bayragi eklenip, "Swiss Made" yazar ve halk genellikle bu ürünleri alir. Cünkü o markette byle bir ürün varsa, en iyi ürün o anlamina gelir ve ici rahat sekilde o ürünü alir. Dikkat edersen normalde ürünlerde "Made in XX" yazar ama isvicre menseili ürünlerde Swiss Made yazar. Bizim burada yaptigimiz tüm isler yüksek kalite ile yapiliyor , cok fazla test cesitlerinden gecer, müsteriye mümkün mertebe eksizsiz ürün verir, ayrica olasi hatalara karsi ürünü hemen yenisi ile degistirir. Cünkü alan müsteri bunu en iyisi olarak aliyor o yüzden bir hata varsa firma hemen yenisini vermek zorundadir. Bu seviyeye gelmek ya da anlamak belki zor olabilir. Insanlarin hayatlarinda her sey "kalite" oldugunda, yaptiklari isler de kaliteli olmak zorundadir. Calistigim firmalardaki stajyerleri grüyorum, türkiye'de kendine senior diyen bir sürü adami cebinden cikarak kadar bilgileri var hepsinin. O yüzden isvicreli'lerin ürettigi ürünler ya da bilim ile, türklerin ürettikleri arasinda daglar kadar fark var. Kimse kolay kolay türk ürününe güvenmez.. Cünkü bilir ki ucuz iscilik, düsük kaliteyle üretilmistir. Elbette banglades, cin'den daha iyi yapiliyor ama hala standartlar cok cok geride. Siz farkinda misinizdir bilmem... Ama grünen bu. Belki bu yazdiklarimdan dolayi kizacaksiniz ancak tespit ettigim durum byle.. nemli olan tabi sizlanmak degil, calismak, daha cok calismak ve daha iyi olmak. Ama zaten kendinizi cok iyi grüyorsaniz, bastan kaybetmissinizdir. Umarim türkiye'de de bu kalite anlayisi degisir, is ahlaki olusur, insanlar smürülmez ve emeginin karsiligini alir ve genclerimize firsat verilerek kendilerini daha cok gelistirip, daha iyi isler yapmalari saglanir. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

@Yazilimci yok hocam neden yle olsun :) Gece yle birden esti yazi yazmak, yari uykulu olarak yazdim, o videolardan Robert Martin'in videosunu izlerken yazayim dedim :) @siyahbereli kalite olgusu biraz kültürle de ilgisi hocam. Bizim insanimiz "kalitesiz ürünler" tüketmeye, "kalitesiz isleri" kabul etmeye alisti. Yani adam ev yapiyor, bir sürü sikintisi var ama normal olarak kabul ediliyor. 5-6 yil nce bizimkiler bir ev almis, sicak-soguk su acma aparati musluga takiliyor yani saga sola istedigi gibi dnmüyor, bir süre gecti musluk sallanmaya basladi, prizler yerlerinden cikmis, üst katindaki banyoda boya yapilmis ama hep fayanslara sicramis vs. Sen byle bir evi "kalite kültürü" yerlesmis bir millete satamazsin.. Isimizi düzgün yapmiyoruz, cünkü kisa sürede yapalim bitsin mantigi güdülüyor, kalitesine kimse nem vermiyor. Sonuc odakliyiz sadece. Ayrica emegin karsiligi alinmiyor, haliyle ucuz is gücü haline geliyoruz.. Bunlar temel sorunlar @nurulmac11 evet hocam grenip kullanmak gerekiyor. Zaten hepsini grenmene gerek yok. Neyi nerede kullanacagini bilmen yeterli, hangi pattern'in nerede ise yarayacagini tahmin edebiliyorsan, rnekleri bulman kolay olur. Cok popüler olan design patternlerden bir kac tanesi bilmek iyi olur. Ayrica SOLID prensiplerini de grenmek ve yazilimi bu temel üzerine insa etmek gerekiyor. SOLID ile ilgili güzel bir kaynak bulursam ekleyecegim. @makets testler nemli yer tutuyor ama tabi zaman olarak da cok fazla zaman harcamak gerekiyor. Ancak büyük bir projede testlerin eksikliginden dolayi cok daha fazla zaman ve para kaybedilebiliyor. Ornek olarak bizim is byle.. Iyi test edilmemis ürünlerle cok zaman kaybediyoruz maalesef. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

@ BerkayCit güzel fikir hocam, en iyi grenme metodlarindan biri de o'dur. Birilerine gretmek icin mecburen iyi grenmeye calisiyorsun. @ ilteris hocam mesajimda "Yabanci Dil" diye bir kisim var :) Iste sebebi bu. Elbette cesitli türkce kaynaklar da bulabilirsin bu konuyla ilgili ama bu kitaplarda yazilanlar gayet kaliteli ve detayli yazilar. O yüzden her konu icin türkce kaynak aramak yerine, ingilizceni gelistirmeye calismak daha mantikli. Teknik kelimeler zaten hayatimizda var, okuya okuya uygulaya uygulaya halledilir hocam. Gzünde büyütme ingilzceyi. Biraz zorlanirsin belki baslarda ama yapilmayacak bir is degil :) not: head first design patterns kitabindaki rnekler java ile yazilmis ancak c# tarafinda bir sikintisi olmaz, cok az fark var. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

yakinda herkes kendi yazilim dilini gelistirecek ve onu kullanacak gibi! hergün yeni bir yazilim dili cikiyor ortaya!!

Biri de çıkıp demiyor ki "kardeşim design pattern diye bahsettiğimiz şey şudur" If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.

İyi okuyun bu yazıyı müsebbibi benim bu yazının :))) Titanyumun gücü adına!!!

NoktaliVirgul bunu yazdı Biri de çıkıp demiyor ki "kardeşim design pattern diye bahsettiğimiz şey şudur" kusura bakma hocam orta ve ileri seviye yazilimcilar icin yazmistim, temel kavramlari aciklama geregi duymamistim :) Bununla ilgili güzel bir kac makale buldum. https://medium.com/@tugrulbayrak/design-patterns-tasarim-kaliplari-3da2018eb9c5 https://medium.com/@mrpehlivan/tasar%C4%B1m-kal%C4%B1plar%C4%B1-e8aee8a711e2 Syle 3 lü bir set https://medium.com/kodcular/design-patterns-tasar%C4%B1m-kal%C4%B1plar%C4%B1-1-yarat%C4%B1m-%C3%B6r%C3%BCnt%C3%BCleri-creational-d60f85643941 https://medium.com/bili%C5%9Fim-hareketi/design-patterns-tasar%C4%B1m-kal%C4%B1plar%C4%B1-2-yap%C4%B1sal-%C3%B6r%C3%BCnt%C3%BCler-structural-ee0227e93216 https://medium.com/nafidurmus/design-patterns-tasar%C4%B1m-kal%C4%B1plar%C4%B1-3-davran%C4%B1%C5%9F-%C3%B6r%C3%BCnt%C3%BCleri-behavioral-4f644d78f704 Bu arada makalelerde gecen Gang of Four 4'lü cete ya da bana gre mahserin 4 atlisi :) 'nin yazdigi kitap da liste Bu bittikten sonra katmanli mimarilerle ilgili makalelere gz atabilirsin. Medium makalaleri genelde iyi oluyor. Linkler için teşekkür ederim, feyvırıtlarıma attım. Ancak sanırım çok üst düzey bir yazılımcı olduğum için tam anlayamadım :) Anladığım kadarıyla objeye ynelik kodlamalarda kullanılan farklı yaklaşımlar. Ancak ben çok object oriented kod yazmadığım için şimdiye kadar ihtiyaç duymamış olabilirim. Belkide kendi bulduğum çzümler o kalıplardan birine benziyordur. Son 3 linkteki yazıyı beğendim. Kafam boş bir zamanda okuyup ben hangisine benzer kod yazıyorum bulmaya çalışacağım. If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.

Biri de çıkıp demiyor ki "kardeşim design pattern diye bahsettiğimiz şey şudur" kusura bakma hocam orta ve ileri seviye yazilimcilar icin yazmistim, temel kavramlari aciklama geregi duymamistim :) Bununla ilgili güzel bir kac makale buldum. https://medium.com/@tugrulbayrak/design-patterns-tasarim-kaliplari-3da2018eb9c5 https://medium.com/@mrpehlivan/tasar%C4%B1m-kal%C4%B1plar%C4%B1-e8aee8a711e2 Syle 3 lü bir set https://medium.com/kodcular/design-patterns-tasar%C4%B1m-kal%C4%B1plar%C4%B1-1-yarat%C4%B1m-%C3%B6r%C3%BCnt%C3%BCleri-creational-d60f85643941 https://medium.com/bili%C5%9Fim-hareketi/design-patterns-tasar%C4%B1m-kal%C4%B1plar%C4%B1-2-yap%C4%B1sal-%C3%B6r%C3%BCnt%C3%BCler-structural-ee0227e93216 https://medium.com/nafidurmus/design-patterns-tasar%C4%B1m-kal%C4%B1plar%C4%B1-3-davran%C4%B1%C5%9F-%C3%B6r%C3%BCnt%C3%BCleri-behavioral-4f644d78f704 Bu arada makalelerde gecen Gang of Four 4'lü cete ya da bana gre mahserin 4 atlisi :) 'nin yazdigi kitap da liste Bu bittikten sonra katmanli mimarilerle ilgili makalelere gz atabilirsin. Medium makalaleri genelde iyi oluyor. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Tecrübelerini paylaşman çok güzel. Teşekkürler. Takipteyim. Bir şeyi gerçekten yapmak isterseniz bir yolunu bulursunuz, istemezseniz de bir bahane bulursunuz.

eyv hocam. kitaplari okumayi dusunuyorum. her mulakatta bu design patternlari soruyorlar, bazilarini biliyorum da ama kacini gercekten kullandin desem max 2 falandir. kitabini okuyup ornek kullanimi gercekten buyuk projelerde gormek lazim aslinda black implies white, self implies other, life implies death.

unbalanced bunu yazdı En nemli kisimlardan birini atlamisim :) Evet yazilim almis basini gidiyor, her gün yeni bir seyler cikiyor. Cok sey kacirdik, kaciriyoruz.. yazı için sağol bu kalın yaptığım kısma gelirsek IT sektrünün amk hergün pokemon adı gibi yeni birşey çıkıyor :| :D İlk pokemonların yerini hiçbirşey değiştirmez. Yenilerin hepsi boktan boktan pokemonlar. Nerden çıktı bu kadar pokebok? İzleyen aydınlatsın ve bu Ash niye büyümüyor Gerçek yoktur. Herşey yorumdur. - KKK - Düşünürseniz, acı çekersiniz. Şüphe ederseniz, delirirsiniz. Hissederseniz, yalnız kalırsınız. O yüzden koy goethe

Linkler için teşekkür ederim, feyvırıtlarıma attım. Ancak sanırım çok üst düzey bir yazılımcı olduğum için tam anlayamadım :) Anladığım kadarıyla objeye ynelik kodlamalarda kullanılan farklı yaklaşımlar. Ancak ben çok object oriented kod yazmadığım için şimdiye kadar ihtiyaç duymamış olabilirim. Belkide kendi bulduğum çzümler o kalıplardan birine benziyordur. Son 3 linkteki yazıyı beğendim. Kafam boş bir zamanda okuyup ben hangisine benzer kod yazıyorum bulmaya çalışacağım. Dediklerini dogru anladiysam design patternlar dedigin gibi olmayabilir hocam. Design patternlerin ortaya cikis amaci, bir problemi efektif olarak czmeye ynelik yapilar. Mesela basitce syle rnek vereyim, singleton design pattern icin. Bir tane sinifin var ve bu siniftan instance'lar yaratiyorsun, ama sürekli bu siniftan bir instance yaratmak yerine, bir tane yaratip her yerde kullanmak istiyorsun. bunu nasil yapabilirsin? Bir public static degisken tanimlayip onun her yerde kullanabilirsin ancak bir sefer o class'dan bir instance yaratman lazim.. Ancak pek hos bir yntem olmayabilir bu. O yüzden birileri singleton design pattern isimli bir yapi olusturmus. Efektif olarak syle czülebilir demis class Singleton { private static Singleton _instance; // Constructor is 'protected' protected Singleton public static Singleton Instance { // Uses lazy initialization. // Note: this is not thread safe. if return _instance; } } üstteki rnekten gidersen.. Sinifimizin ismi Singlaton.. Bana bu siniftan bir ge lazim diyelim var ge = new Singleton yerine Singleton. Instance diyerek ben bir ge istiyorum. Bu metodu ilk calistirdigimda, local degisken olan _instance null durumda. if ile bunu kontrol ettiriyor, null oldugu icin bu siniftan bir eleman yaratiyor ve artik _instance gemiz singleton sinifindan yaratilmis oluyor. ve bana bu _instance gesini geri veriyor.. Programim her hangi bir yerinde ne zaman Singleton. Instance metodunu cagiridgimda ayni _instance gesini bana geri dnderecek. 2. ya da daha fazlaki cagirislarimda _instance artik null olmadigi icin tekrar new Singleton kurucu metodunu cagirmadan bana daha nce olusturmus oldugu geyi verecek. Bunun ne avantaji olabilir.. Mesela lazim olan ge'nin sinifi cok karmasik bir yapiya sahip ve bellekte büyük yer kapliyor, sürekli new Sinif diyerek bellegi isgal etmis oluyorsun . Sürekli ayni siniftan yeni instance'lar olusturmak yerine, bir seferde olusturmak ve onu her yerde kullanabilmek icin bu tarz bir yol izleniyor. Bu sadece bir design pattern ve oldukca popüler. Ancak bu demek degil ki programinin %100 ü byle.. Ihtiyac duydugun yerler olabilir... Ilgili pattern icin buraya bakabilirsin https://www.dofactory.com/net/singleton-design-pattern Ikinci olarak mesela database islemleri yapiyorsu, nasil bir pattern kullanabilirsin? repository design pattern.. Bu pattern'i CRUD islemleri icin kullanabilirsin.. https://codewithshadman.com/repository-pattern-csharp/ Bir cok yazilimci her database tablosu icin bir repository class'i olusturuyor gereksiz yere, oysa Generic repository kullanarak, her tablo icin bir class olusturmak yerine, tek class ile generic geler vererek yapilabiliniyor. Yani 10 tablosu olan bir db icin adam 1000 satir kod yaziyorsa, generic repository kullanarak, belki 50 satirda ayni isi yapabilirsin.. Bunun gibi rnekler cogaltilabilir.. Karisik yazdiysam kusura bakma :) Umarim biraz da olsa anlasilmistir. kolay gelsin Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Güzel konu takip.

Bu konu değerlenir favorileri atayım. Javayi bıraktım yeniden başlasam mı. Temiz kod olayı Türkiyede yeni yeni çıkıyor.

Size bir hastalık adı paylaşayım: daha iyi nasıl yapabilirim. Bazen yazdığım kodlar gerçekten doğrusu bu mu diye düşündürüyor beni. Bu sebeple sürekli başkalarının kodlarını, referans tipleri nasıl kullandığına çok dikkat ederim. Bir süre sonra baktim ki bunu takıntı haline getirdim ve projelerde ilerleme sağlayamadım.

En nemli kisimlardan birini atlamisim :) Evet yazilim almis basini gidiyor, her gün yeni bir seyler cikiyor. Cok sey kacirdik, kaciriyoruz.. yazı için sağol bu kalın yaptığım kısma gelirsek IT sektrünün amk hergün pokemon adı gibi yeni birşey çıkıyor :| :D wert tarafından 24/Haz/20 03:03 tarihinde düzenlenmiştir |sadece aptalların başarısı ders notu ile lçülür|

Okumak yeterli değil uygulamak çok daha nemli. Ancak o zaman gerçekten anlaşılabilir oluyor her şey. Bir de gerçek projeler üzerindeki etkisini grmek gerçekten farklı bir şey. Birilerine ğretir gibi anlatmak işe yarar ama bir noktaya kadar. Burada işe yarayan kısım gelebilecek soruları düşünüp, ona gre cevap hazırlamaktır. Ama yine de burada düşünen sizsiniz. Gerçekte gelecek sorular sizin düşünmediğiniz şeyler olabilir. Bence en iyi yntem hevesli bir arkadaşınız veya konu hakkında bilgili birisi ile konuyu irdelemek olacaktır. Bütün Design Pattern'leri kullanmak gibi bir hayale kapılmamak lazım. Zamanla, tecrübeyle olacak bir şey bu. Ama en azından ne olduklarını, hangi sorunlara karşılık nasıl faydalar sağladıkları, artı ve eksi ynlerini, diğer pattern'ler ile olan ilişkilerini bilmek lazım ki, yarın benzer bir sorun ile karşılaşıldığında, bu sorun şu sebepten kaynaklanıyor, çzümü de bu pattern diyebilmeli. O zaman hiç uygulamamış da olsan, gerekiyorsa açıp bir kaynaktan baktıktan sonra uygulayabilirsin. Aynı şekilde ve aynı sebepten algoritmaları da bilmek nemli. zellikle algoritmalar, programcının soyutlama becerisini geliştiriyor. O yüzden elzemdir. Ben test yazmanın daha çok projeye ve projeye daha sonra katılacak olan programcılara katkısı olduğunu düşünüyorum. zet olarak kendini geliştirme noktasında en faydalı konuların, algoritmalar, code review, clean code ve programcının iletişim becerileri olduğunu düşünüyorum.

Teşekkür ederim. Her işin iki çzümü vardır. Birincisi çzer ikincisi doğru yoldan anlamlı ve kaliteli iş yaparak çzer. İkincisi olmak birazda kişilikle ilgilidir. Yapılan iş içine sinmeli başkalarının gzünden de bakabilen insanların yaptığı kaliteli işlerdir. Kaliteli okunaklı, temiz iş yapan adamla yarım saat sohbet ederek tanıyabilirim. Zor yolu seçerler her ihtimali düşünürler kendilerinden birşeyler katarlar dküman tutarlar gibi gibi... Paylaştığın yazıyı gece sindireceğim teşkr Yapmadıklarınıza pişman olmaktansa, Yaptıklarınıza pişman olun... Yapın pişman olun, yada yapmayın yine pişman olun.

Head design patterns kitabı çok iyi, bizim hocamız kullanıyordu. Ben de kitabı daha iyi anlayabilmek için başkalarına anlatma tekniğini kullanacağım. Videolar çekmeyi düşünüyorum. Ama herkesin anlayabileceği gibi anlatmak istiyorum biraz şenol hoca gibi. yle bir hevesim var... havalı bir şeyler yazdığımı hayal edin

BerkayCit bunu yazdı Head design patterns kitabı çok iyi, bizim hocamız kullanıyordu. Ben de kitabı daha iyi anlayabilmek için başkalarına anlatma tekniğini kullanacağım. Videolar çekmeyi düşünüyorum. Ama herkesin anlayabileceği gibi anlatmak istiyorum biraz şenol hoca gibi. yle bir hevesim var... Kitabın TR çevirisini baya aradım da bulamadım. Bilen eden varsa alırım bir dal. Hocam bildiğim kadarıyla yok ama benimde ingilizcem çok iyi değil, o yüzden yavaş okuyabiliyordum mesela 1chapter ı 3-4 saat de bitirebiliyordum anlayarak havalı bir şeyler yazdığımı hayal edin

Selamlar arkadaslar Aranizda yazilimla ilgilenen bir grup arkadasimiz var, tecrübeli-tecrübesiz herkes bir seyler yapmaya calisiyor ve herkese saygi duyuyorum. Bu konuda bazi eksik grdügüm seyleri ve kendi tecrübelerimi paylasmak istiyorum. Bylece basliktaki "Nasil Daha Iyi Yazilimci Olabilirim" sorusuna cevap vermeye calisalim -Konu biraz uzun olacak, ilgisi olmayan arkadaslar zaten okumayacaktir Oncelikle byle bir konu acmamin sebebi, youtube' da takip ettigim birinin su videosu https://www.youtube.com/watch?v=VIPEYBdFdcQ Artik, sadece kodlamada iyi olmanin yeterli olmadigindan bahsediyor. Onerdigi iki konferans var Konuya dnersek: 1- Kodlari Okumak Binlerce kisiye yazilim konusunda yle ya da byle yardim etmisimdir ve sayisini hatirlamadigim kadar baskalarinin kodunu okumusumdur, projelerini düzeltmisimdir. O yüzden komplex bir sistem olsa dahi, projenin tamamini anlamaya gerek kalmadan hatayi cok cabuk bulabiliyorum, hatanin nerede olabilecegini kestirebiliyorum. Bu zellik baskalarinin yazdigi "kodlari okuyarak" elde edilen bir zellik olduguna inaniyorum. 2- Yazilim Desenleri - Temiz Kodlama Grmüs oldugum bir eksik ise, inceledigim hemen hemen tüm projeler genellikle sikintili projeler. Yani ortada hic düzgün bir yapi yok, her sey karman corman halde.. Coook nadir olarak bir kac iyi kodlanmis projeye rasladim ancak kendisine amatr diyen den uzman diyene kadar herkesin kodlamasi cok ktü. Bunun sebebi aldiklari egitimin yetersiz olmasi, design-software patternleri sadece teorik olarak bilmeleri ve projelerde kullanmamalari ya da kullanamamalari. Elbette projesine gre benim de kullanmadigim zamanlar oluyor ancak büyüme ihitmali olan projeler icin cok dikkat etmeye calisiyorum. Eger projenizde cesitli tasarim desenleri kullanirsaniz, hem cok daha az kod yazmis olursunuz hem de ilerde sorun yasandiginda cok daha kolay müdahale etme sansiniz olur. O sebeple lütfen kendinizi bu alanda gelistirmeye gayret edin. Kücük projeler yapsaniz da desenleri uygulamaya calisin. Kendigi okudugum ve okuma listemde olan bir kac kitap upload ettim bunlara bakabilirsiniz https://drive.google.com/drive/folders/1FwEBVO6lCy6ysLwPiGCnbRcgw2ygtGvf Design Patterns kitabi ciddi bir bicimde yazilmis, biraz daha eglenceli, grsel seyler istiyorsaniz Head First Design Patterns'i kesinlikle tavsiye ederim, basucu kitabiniz olmasi lazim :) 3- Test - Kalite Freelance olarak calistigim dnemde, biraktigim dnemde de sürekli bana gelen sikayet suydu "ya programi X kisine yazdirdik, mundar etti programi, ben de sinirlendim cpe attim" hemen hemen tüm sikayetler byleydi. Yapan kisi programi yle yapmis ki sadece belirli sartlar altinda yarim yamalak seklinde calisiyor. Yazilimciya karsi iyi niyet gstererek: "yeteri kadar test" yapmamis herhalde diye düsünmek istiyorum. Calistigim firma'nin bir ayagi fransa'da ve cihaz üretimleri de tunus'da yapiliyor. Fransizlar firmware'ini gelistiriyorlar vs sonra cinden elektronik devreler geliyor, tunus'daki yerde montajlaniyor ve firmware yazilip isvicre'ye yollaniyor. Sistem byle. Suana kadar 3-5 kez bu sekilde seri mallar geldi. Kac kere geldiyse hep bir sikinti hep bir sikinti, ya firmware'i düzgün yazmamislar, ya yazilirken seri numarasi, üretim tarihi gibi bilgiler silinmis, ya firmware'de hatalar.. Hep bir sey cikti ve hala cikiyor. Benim isim gücük yok bu modüllere fix toolar yazip yazip düzeltiyorum.. Peki bu neden oluyor? Hem fransa'dakiler hem tunus'dakiler test nedir anlamiyorlar, bilmiyorlar.. Kendi kafalarinda bir test konsepti var onu uyguluyorlar. Anlatiyoruz, siz test yapmiyorsunuz diyoruz, nasil olur bizim testbenchlerimiz var, ee madem test yapiyorsunuz bu hatalari nasil bizim testerlarimiz buluyor? Peki bu neyi gsteriyor? Bu adamlarin "is kalitesini", daha dogrusu olmayan is kalitesini gsteriyor. Ve firmayi zarara ugratiyorlar. Cünkü gnderilmis modülleri tekrar geri gndermek masrafli oldugu icin, biz burda tool'lar yazip fixliyoruz. Cünkü bizim icin bir bitmis ürün demek, neredeyse hatasiz olmali. En kücük ayrintisina kadar gerek fiziki gerek bilgisayar ortaminda test edilir. Cünkü sattigin üründen sen sorumlusun ve "kaliteyi" gercek manada prensibin olarak grmüssen, müsterine ayipli ürün satmazsin, zaten müsteri de bilincli oldugu icin o ürünü kabul etmez, bir daha da seninle iletisime gecmez. Yani bir isi yaparken, gereken testleri dikkatlice yapin. Yazilim tarafinda ise unit testleri büyük nem arzediyor. Ozellikle büyük projelerde. Test-Driven-Development kavramiyla ilgili cesitli videolar izleyip, cesitli seyler grenebilirsiniz. 4- Yabanci Dil - Ingilizce Yabanci dil bilmeyen bir yazilimciya ne kadar "yazilimci" denilir tartisilir? Cünkü yazilimci demek, kendini yeni teknolojilere hemen adapte edebilen demek, sorunlarla karsilastiginda kolay ve temiz sekilde czüm getirebilen demektir. Bu yüzünden konusma olmsasada okudugunu anlama, yazmada iyi derecede ingilizce bilmesi gerekmekte. Cünkü hemen hemen yeni cikan tüm teknolojilerde kullanilan dil ingilizcedir ve belki cok uzun bir süre belki hic bir zaman türkce kaynak temin edilemiyor. O yüzden ingilizce bilmiyorsaniz grenin! Ozellikle profesyonel sekilde is yapiyorsaniz, ingilizce bilmemek gibi bir mazeretinizin olmamasi gerek. Kendinizi gelistirirken günde yarim saat, bir saat ingilizceye ayirin. Kimse sizden advanced seviye ingilizce beklemiyor ancak okudugunuzu anlayabilmeniz, arastirabilmeniz, bazen soru sorabilmeniz gerekmekte. O yüzden bu konuya nem vermek gerekiyor. 5- Yeni Programlama Dilleri - Yeni Teknolojiler (Edit 1) En nemli kisimlardan birini atlamisim :) Evet yazilim almis basini gidiyor, her gün yeni bir seyler cikiyor. Cok sey kacirdik, kaciriyoruz.. O yüzden mümkün mertebe kendimizi güncel tutmamiz gerekiyor. Ben bu dili cok iyi biliyorum bana baska bir seye gerek yok diyenler hala vb 6.0 ile kod yazmaya calisanlardir, artik onlara neredeyse hic ihtiyac kalmamistir. Bu duruma düsmemek icin alaninizla ilgili yeni teknolojileri takip edin, kendinizi sürekli gelistirin, yeni diller ya da teknolojiler grenin. Kendimden rnek verecek olursam, normalde desktop-mobile-elektronik yazilimcisiyim ancak is geregi farkli alanlara da ynelme durumu olustu ki ben bundan mutsuz degilim. Web'ci olmamama ragmen hatta nefret etmeme ragmen bu yolculuga nodejs ile MhmdAlmz sayesinde basladim :) Aslinda o kadar da zor olmayan, sikintili olmayan bir seyle karsilastim . Ancak üstte elestirdigim 'temiz kod yazmama' olayini yasadim. Proje büyüdükce cok karmasiklasti, bazen sikintiya düsüyorum bulmak icin :) Bilgim sinirli oldugu icin belki yapiyi ilk basta iyi kuramamanin sikintisini yasadim :) Daha sonra vuejs ile tanistim . Harika bir front-end sistem olduguna karar verip iyi grenmye gayret ettim. Ne kadar iyiyim tartisilir ancak bir cok seyi rahatlikla yapabiliyorum, vuejs'in güzel imkanlarindan yararlaniyorum. Elbette nuxt. js e de gecme planim var :) Mobil tarafinda ise ilk baslarda java kullandim, daha sonra objective-c ve zorunluluktan Xamarin kullandim ve hala kullaniyorum. Ancak xamarin, gelisen teknolojilere ne kadar uygun? Firmalarin xamarin bilen birini aramalarinin sebebi xamarin'de c# ile yazilim gelistirildigi icindir. Ancak xamarin'in yeni tip diller ve teknolojilerle karsilastirdigimizda bir cok sikintisi cikiyor. O yüzden 'kendini gelistirmeye calisan' biri olarak, bu alanda yine baya bir arastirma yaptim, karsilastirma videolari izledim ve en sonunda flutter grenmeye karar verdim. Ogrenme sürecim biraz uzun sürse de, flutter'in gelecekte cok daha yaygin kullanilacagini düsünüyorum. Yine bu sürecte Azure'u iyi sekilde kullanmayi grendim vs vs Kisaca, bilginiz, egitim seviyeniz, yasiniz, pozisyonunuz ne olursa olsun sürekli kendinizi gelistirmek ve yenilemek zorundasiniz. Diger türlü hep arkaplanda kalirsiniz ve gerekli kariyer yükselmelerini yakalayamazsiniz ya da zevk almazsiniz isinizden.. Is arkadasimin durumu yle.. Robot gibi is yapiyor. Ben ise olayin 'yeni seyler grenme' safhasindayim. Umarim bu hevesimiz hic kaybetmem :) Saat bi hayli gec oldu, aklima suan bu kadar geldi. Yeni seyler gelirse, bu mesaji güncellerim. Yazimda eksik ve hata grdügünüz yerleri bildirirseniz düzelteyim. Ayrica katki sunma amacinda da paylasim yapabilirsiniz tabi ki. Kendi gzlemlerime ve tecrübelerime dayanarak, bir cok yazilimcida eksik grdügüm kisimlari anlatmaya calistim ve cesitli nerilerde bulundum. Umarim birilerine faydasi olur unbalanced tarafından 24/Haz/20 02:55 tarihinde düzenlenmiştir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

iyi yazilimci diye bisey yok, daha iyi bir yazilimci diye bisey hiç yok. anca gidersin...

Bu arada listeme aldığım ama henüz okuyamadığım 3 kitabı da paylaşmak isterim. Algorithms Fourth Edition - Robert Sedgewich Clean Code - Robert C. Martin Bu tavsiye edilmişti galiba zaten Data Structures and Algorithms Made Easy - Narasimha Karumanchi BerkayCit tarafından 24/Haz/20 18:27 tarihinde düzenlenmiştir havalı bir şeyler yazdığımı hayal edin

Benim için bu sorunun tek cevabı: DİSİPLİN :) ve bende olmayan birşey. Eğer iyi bir yazılım disiplin yoksa pattern de, solid de bilseniz hikaye oluyor. Benim gibi 2 gündür düşündüğün ve aklına gelen fonksiyonu test için hızlıca temp açıp, değişkenlere, sınıflara, fonsiyonlara "asd, zxc, a1, b1" gibi abuk subuk isimler verirsen ve gaza gelip iç içe yazdıkça yazarsan ertesi gün baktığında "ben ne yapmışım yaa" diyip kalırsın. Ama solid uymakta beni aşırı yavaşlatıyor, Tembelik yaratıcılık ve hız getiriyor ama kurumsalda hiçbir takım sizinle çalışmak istemeyecek veya takım arkadaşların seni kovacaktır. Disiplin şart!

Okumak yeterli değil, Uygulamak çok daha nemli. Ancak o zaman gerçekten anlaşılabilir oluyor her şey. Bir de gerçek projeler üzerindeki etkisini grmek, gerçekten farklı bir şey. Birilerine ğretir gibi anlatmak işe yarar, ama bir noktaya kadar. Burada işe yarayan kısım gelebilecek soruları düşünüp, ona gre cevap hazırlamaktır. Ama yine de burada düşünen sizsiniz. Gerçekte gelecek sorular, sizin düşünmediğiniz şeyler olabilir. Bence en iyi yntem; hevesli bir arkadaşınız veya konu hakkında bilgili birisi'yle konuyu irdelemek olacaktır. Bütün Design Pattern'leri kullanmak gibi bir hayale kapılmamak lazım. Zamanla, Tecrübeyle olacak bir şey bu. Ama en azından ne olduklarını, hangi sorunlara karşılık nasıl faydalar sağladıkları, artı ve eksi ynlerini, diğer pattern'ler ile olan ilişkilerini bilmek lazım ki, yarın benzer bir sorun ile karşılaşıldığında, bu sorun şu sebepten kaynaklanıyor, çzümü de bu pattern diyebilmeli. O zaman hiç uygulamamış da olsan, gerekiyorsa açıp bir kaynaktan baktıktan sonra uygulayabilirsin. Aynı şekilde ve Aynı sebepten Algoritmaları Da bilmek nemli. zellikle Algoritmalar, programcının Soyutlama becerisini geliştiriyor. O yüzden elzemdir. Ben test yazmanın, daha çok projeye ve projeye daha sonra katılacak olan programcılara, katkısı olduğunu düşünüyorum. zet olarak kendini geliştirme noktasında en faydalı konuların, algoritmalar, code review, clean code ve programcının iletişim becerileri olduğunu düşünüyorum. şu uzun, eğik olan paragraf'ı okurken kendimi kaybedecektim org.'dan. o nasıl güzel bek'ler serisi olmuş, yle. ^^` I'şıkY'ılı;^^`) Zk't^^` RnSySyTk. dl. SpRtÇzBşBkYd Kryptia. agogE Sa'd-l'Suud az. ç'k 'lmyn'Dşn Pnct'tnAnNttn Blgi, YpBlgi 'Ct'nDrm. CmdyDrm. MdrnDrm hRşYdşR ClptcPth'Strsm M'nPhs' Ld, X/Y YrYnZmnGrçklk, AlgBzklğ KrzFrst'tr Tiytr' Pugchv, Jtrn, İmmlmn, FllngLef, Pik' SuprmcySprrty CoBehTh elFnmno:NzrioRonldo AdnKy TkSs, TkHrf . RtNsTk. KvMp. Mk. TrmDyn ScklkNmRzgr ŞkHcBy ccp. kky Snrlr'Çz SnaSnLzmsn 'NsnKsknçtr BgDppr. MagllnCl'ds. S'thCro's Ch'kW'ng CreazioneDiAdamo^^`, Arctrs. Spic' ArcScnd, YySnye TrbProp, TrbJet, TrbFan 3.10^5km/sn 343m/sn 900-1240m/snMacH RamJt, ScRamJt Przdi^^' Tbu. XL Prsek MAtv^^` mLAT G'dWllHnting . 3id't^^` TareZmenPr ParaMotor TrflrVArsİlşklr +. , ZminŞkil. .. Bu imza @SubZero tarafindan degistirilmistir. "Bu kadar uzun karmakarisik bir imza yapma diye uyardim ama heeheeeey _hey kim sylüyor, kim dinliyor." Imzanizi SubZero'ya bilgi vermeden degistirmeyiniz. Tesekkurler...

Eyvallah hocam, şu testler yok mu (:

http://www.pratikprogramci.com/urun/design-patterns/ bence her yazılımcıyım diyen kişinin hatmetmesi gereken bir kitap Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.