Bugünkü yazımız statik kod analizi yapan sonarqube alt
yapısına bağlanan ve benzer kuralları işleten bir araç olan SonarLint'i
inceleyeceğiz. SonarLint microsoft visual studio üzerine kurulan bir extention olup bunu rahatlıkla
microsoft visual studio içinde kurabilir veya
buradan da indirip kurabilirsiniz. Resmi sitesinde C# ile ilgili yaklaşık
390 kural görünmektedir, fakat biz sadece kendi karşılaştıklarımızı ele
alacağız. Bunların bazılarını çözmek biraz daha kolay iken bazılarını çözmek ise biraz
vakit alabiliyor. Tüm kurallar için ise
buraya göz
gezdirebilirsiniz. Karşılaştığım kuralları hangi kritere göre sıralamak
konusunda çok düşündüm. En sonunda hata kodlarını küçükten büyüğe sıralamaya
karar verdim. Bu yazıyı güncelle tutmaya özen gösterip karşılaştığımız hataları eklemeye devam edeceğiz.
21 Haziran 2020 Pazar
Sonarlint ile Refactoring
S.A. Arkadaşlar,
Etiketler:
C#,
clean code,
csharp,
performance,
sonarqube,
temiz kod
23 Mayıs 2020 Cumartesi
C# 9.0 ile Gelen Yenilikler
S.A. Arkadaşlar,
Bugün C#'in en son yayımlanan sürümü olan 9.0 sürümünü ele alacağız. Yapılan yenilikler nelerdir, neler değişmiş onları anlatmaya çalışacağız. Daha önceki sürümlerde olduğu gibi Microsoft yine çok güzel özellikler geliştirmiş, fakat bu sefer veri şekillerini kısaltmak(okunurluk) ve veri şekillerinin değişmezliğine(performans) odaklanmışlar. Bunun yanı sıra fonksiyonel programlamayı anımsatan değişiklikler de var. Tüm bunları elimizden geldiğince incelemeye çalıştık.
Etiketler:
?:,
??,
C#,
Convariant Returns,
data,
data keyword,
init,
init keyword,
keyword,
records,
target-typed,
top-level,
value-based,
with
18 Mayıs 2020 Pazartesi
Integration Test - (.Net Core - xUnit - Web Application Factory)
S.A. Arkadaşlar,
Bugün entegrasyon(integration) test konusuna odaklanacağız. Entegrasyon test, birim (unit) testten farklı olarak her bir metodu test etmekten ziyade metodların birbiriyle entegre çalışıp çalışmadığını kontrol eder. Örneğin, birim test yazarken bazı mock'lama objeleri kullanırız. Veri tabanını mock'layıp oradan doğru sonuç dönmüş gibi yaparız, ama entegrasyon test ile "mış" gibi yaptığımız şeyleri gerçekten yapıyoruz. Bunun için de alt yapımızı ayağa kaldırmamız gerekecek. Bunu nasıl mı yapacağız. Buyurun
Bugün entegrasyon(integration) test konusuna odaklanacağız. Entegrasyon test, birim (unit) testten farklı olarak her bir metodu test etmekten ziyade metodların birbiriyle entegre çalışıp çalışmadığını kontrol eder. Örneğin, birim test yazarken bazı mock'lama objeleri kullanırız. Veri tabanını mock'layıp oradan doğru sonuç dönmüş gibi yaparız, ama entegrasyon test ile "mış" gibi yaptığımız şeyleri gerçekten yapıyoruz. Bunun için de alt yapımızı ayağa kaldırmamız gerekecek. Bunu nasıl mı yapacağız. Buyurun
23 Nisan 2020 Perşembe
Type-Safe Configuration (IOptions - IOptionsMonitor - .Net Core)
S.A. Arkadaşlar,
Bugün .NET Core ile uğraşanların genelde bildiği ve kullandığı bir konuyu ele alacağız. Bu konu her ne kadar bilinse de, birlikte bir miktar daha ileriye taşımaya çalışalım.
Bazı değişken bilgilerini genellikle .config dosyası içinde tutmaktayız. Bu dosyayı çoğu zaman development ortamı için ayrı, test ortamında ayrı ve production ortamlarında ayrı tutmaktayız. Tabi ki bu örnekler çoğaltılabilir. Asıl aktarmak isteğim mevzu, config değerleri string olarak tutulduğundan dolayı hataya açık bir durum oluşmaktadır zaman zaman. Gelin hep birlikte bunu type-safe bir yapıya taşıyalım.
Bugün .NET Core ile uğraşanların genelde bildiği ve kullandığı bir konuyu ele alacağız. Bu konu her ne kadar bilinse de, birlikte bir miktar daha ileriye taşımaya çalışalım.
Bazı değişken bilgilerini genellikle .config dosyası içinde tutmaktayız. Bu dosyayı çoğu zaman development ortamı için ayrı, test ortamında ayrı ve production ortamlarında ayrı tutmaktayız. Tabi ki bu örnekler çoğaltılabilir. Asıl aktarmak isteğim mevzu, config değerleri string olarak tutulduğundan dolayı hataya açık bir durum oluşmaktadır zaman zaman. Gelin hep birlikte bunu type-safe bir yapıya taşıyalım.
Etiketler:
.net core,
C#,
IMonitorOptions,
IOptions,
mock,
programming,
unit test
16 Nisan 2020 Perşembe
Health Check and Monitoring - .Net Core ( Servislerin Durumunu Kontrol Etme ve Görüntüleme)
S.A. Arkadaşlar,
Bugün .net core 2.2 ile gelen ve 3.1 ile olgunlaşan bir kavramı ele alacağız. Dağıtık bir yapınız var ve bunun içinde onlarca belki yüzlerce servis bulunmaktadır. Her bir servis kendi içinde çalışacağı için de hepsini kontrol etmek zor belki imkansız olacaktır. İşte bu ihtiyaçtan meydana çıkmış ve tüm servislerin durumlarını kontrol eden yapıya Health Check denmektedir. Bu yapıyı kullanıcı ara yüzü ile birlikte ayağa kaldıracağız. Hazırsak başlayalım.
Bugün .net core 2.2 ile gelen ve 3.1 ile olgunlaşan bir kavramı ele alacağız. Dağıtık bir yapınız var ve bunun içinde onlarca belki yüzlerce servis bulunmaktadır. Her bir servis kendi içinde çalışacağı için de hepsini kontrol etmek zor belki imkansız olacaktır. İşte bu ihtiyaçtan meydana çıkmış ve tüm servislerin durumlarını kontrol eden yapıya Health Check denmektedir. Bu yapıyı kullanıcı ara yüzü ile birlikte ayağa kaldıracağız. Hazırsak başlayalım.
11 Nisan 2020 Cumartesi
Birim(Unit) Test ile Veri Kümeleri - xUnit (Inline - Member - Class Data)
S.A. Arkadaşlar,
Bugün unit/xunit (birim) test ile bir konuya odaklanmak istedim. Bu konunun amacı, birim test nedir? Neden yazılır? Faydaları nelerdir? vb. gibi bilgiler olmayacak. Odaklanacağımız konu birim testler de çoğu zaman olması gereken girdi değerleri üzerine yoğunlaşacağız. Bazen bir kereye mahsus bir sabit değer, bazen de birden fazla ve farklı değerler girdi ihtiyacı olabilmektedir. Şimdi adım adım olması gerekene doğru ilerlemeye çalışalım, buyurun birlikte ilerleyelim..
Bugün unit/xunit (birim) test ile bir konuya odaklanmak istedim. Bu konunun amacı, birim test nedir? Neden yazılır? Faydaları nelerdir? vb. gibi bilgiler olmayacak. Odaklanacağımız konu birim testler de çoğu zaman olması gereken girdi değerleri üzerine yoğunlaşacağız. Bazen bir kereye mahsus bir sabit değer, bazen de birden fazla ve farklı değerler girdi ihtiyacı olabilmektedir. Şimdi adım adım olması gerekene doğru ilerlemeye çalışalım, buyurun birlikte ilerleyelim..
Etiketler:
C#,
ClassData,
csharp,
Fact,
InlineData,
MemberData,
programming,
Theory,
unit test,
xunit
30 Mart 2020 Pazartesi
Ne Nedir?
S.A. Arkadaşlar,
Evde sakince çalışabilmenin, sessiz bir ortamda düşünebilmenin dinginliği ile bu yazıyı yazıyorum. Çoğu zaman kendimce notlar alırım. Sonrasında zaman zaman dönüp tekrar bakıyorum notlarıma, eklemeler, düzenlemeler yaptıktan sonra, iyice olgunlaştığına kanaat getirdiğim an paylaşmaya özen gösteriyorum. Bu makalemde de araştırdığım ya da öğrenmeyi hedeflediğim konuları ele aldım. Herhangi bir sıralama bulunmuyor konularda. Eklemelere devam ederek bu makaleyi güncel tutmaya çalışacağım. Aşağıda ele aldığım konulara eklemeler yapmak isterseniz çok memnun olurum..
Evde sakince çalışabilmenin, sessiz bir ortamda düşünebilmenin dinginliği ile bu yazıyı yazıyorum. Çoğu zaman kendimce notlar alırım. Sonrasında zaman zaman dönüp tekrar bakıyorum notlarıma, eklemeler, düzenlemeler yaptıktan sonra, iyice olgunlaştığına kanaat getirdiğim an paylaşmaya özen gösteriyorum. Bu makalemde de araştırdığım ya da öğrenmeyi hedeflediğim konuları ele aldım. Herhangi bir sıralama bulunmuyor konularda. Eklemelere devam ederek bu makaleyi güncel tutmaya çalışacağım. Aşağıda ele aldığım konulara eklemeler yapmak isterseniz çok memnun olurum..
Etiketler:
elastic search,
firebase,
Graphql,
hadoop,
jasmin,
kafka,
karma,
mock,
ocelot,
rabbit mq,
redux,
Reflection,
repository,
selenium,
serilog,
SignalR,
sonarqube,
unit-intagration test
Kaydol:
Kayıtlar (Atom)