Yazılım Mühendisliği

Sistem geliştirme yaşam döngüsü içinde çalışan profesyoneller, akademisyenler ve öğrenciler için soru-cevap

5
Java'da, mecbur olmasam bile parametreler ve yerliler için “final” kullanmalı mıyım?
Java, değişkenlerin (alanlar / yerliler / parametreler) finalyeniden atanmasını önlemek için olarak işaretlenmesine izin verir . Bazı özelliklerin (veya tüm bir sınıfın) değişmez olması gerekip gerekmediğini hızlıca görmeme yardımcı olduğu için alanları çok faydalı buluyorum. Öte yandan, yerliler ve parametrelerle daha az faydalı buluyorum ve genellikle onları finalasla tekrar atanmayacaklarmış …
105 java  coding-style  final 

12
SetWidth ve SetHeight yöntemlerini geçersiz kılarsak, Kare'yi Dikdörtgen'den devralmak neden sorunlu olsun?
Bir Kare bir Dikdörtgen türü ise, neden bir Kare Dikdörtgenden miras alamaz? Ya da neden kötü bir tasarım? İnsanların söylediklerini duydum: Kare'yi Dikdörtgen'den türetmişseniz, bir dikdörtgen beklediğiniz her yerde bir Kare kullanılabilir olmalıdır Burada problem nedir? Ve neden bir dikdörtgen beklediğiniz her yerde Kare kullanılabilir? Yalnızca Square nesnesini oluşturursak ve …

22
Otomatik programlama: [kapalı] kodunu yazan kod yazın
Kitabı okuduktan sonra , en ilginç bulduğum argümanlardan biri olan Pragmatik Programcı “kod yazan kod yaz” dı. Net hakkında daha fazla açıklama veya makale araştırmaya çalıştım ve konuyla ilgili bazı iyi makaleler bulurken, henüz belirli bir kod uygulaması veya iyi örnek bulamadım. Hala çok yaygın bir argüman olmadığını, belgelerin bulunmadığını …



5
Mikro hizmetlere geçmek, çalışma zamanı problemini nasıl yaratır?
Aşağıdaki yorumcu yazıyor : Mikro servisler örgütsel işlev bozukluğunuzu derleme zamanı probleminden çalışma zamanı problemine kaydırır. Bu yorumcu, şunları söyleyerek konuyu genişletiyor : Özellik hata değil. Çalışma zamanı sorunu => eşya sorunları => daha güçlü, sorumlu olanların işlevsizliği hakkında daha hızlı geri bildirim Şimdi almak ile microservices sen: bir üretim …

3
Trambolinler neden işe yarıyor?
Bazı fonksiyonel JavaScriptler yapıyorum. Tail-Call Optimizasyonunun uygulandığını düşünmüştüm , fakat anlaşıldığı kadarıyla hatalıydım. Bu yüzden kendime Trampolining öğretmek zorunda kaldım . Burada ve başka yerlerde biraz okuduktan sonra, temelleri indirip ilk trambolinimi yapmayı başardım: /*not the fanciest, it's just meant to reenforce that I know what I'm doing.*/ function loopy(x){ …

3
REST API güvenliği JWT vs OAuth'a saklanan jeton
REST API'yi korumak için hala en iyi güvenlik çözümünü bulmaya çalışıyorum, çünkü mobil uygulamaların ve API'nin sayısı her geçen gün artıyor. Farklı kimlik doğrulama yöntemleri denedim, ancak yine de bazı yanlış anlaşılmalar var, bu yüzden daha deneyimli birisinin tavsiyesine ihtiyacım var. Tüm bunları nasıl anladığımı anlatayım. Bir şeyi yanlış anlarsam, …
104 security  rest  api  oauth  https 

10
Büyük bir kod temeli nasıl daha kolay anlaşılır
Diyelim ki nispeten büyük bir proje geliştiriyorum. Tüm sınıflarımı ve işlevlerimi Doxygen ile zaten belgeledim, ancak her kaynak kod dosyasına bir "programcı notu" koymak için bir fikrim vardı. Bunun arkasındaki fikir, meslekten olmayan bir terimle belirli bir sınıfın nasıl çalıştığını açıklamaktır (sadece çoğu yorumda neden olduğu gibi değil ). Başka …


14
TDD, savunma programlamasını gereksiz kılıyor mu?
Bugün bir meslektaşımla ilginç bir tartışma yaptım. Ben bir savunma programcısıyım. " Bir sınıfın nesnelerinin sınıf dışından etkileşime girdiğinde geçerli bir duruma sahip olmasını sağlamalı " kuralının her zaman uyulması gerektiğine inanıyorum. Bu kuralın nedeni, sınıfın kullanıcılarının kim olduğunu bilmemesi ve yasadışı bir şekilde etkileşime girdiğinde tahminen başarısız olması gerektiğini …

5
İyi mimari ve soyutlama katmanlama kavramlarıyla çelişen C # 'daki async / await kullanım kılavuzları değil mi?
Bu soru C # diliyle ilgilidir, ancak Java veya TypeScript gibi diğer dilleri kapsamasını bekliyorum. Microsoft , .NET'te zaman uyumsuz çağrıları kullanma konusunda en iyi uygulamaları önerir . Bu tavsiyeler arasında, iki tane seçelim: Eşzamansız yöntemlerin imzasını değiştirerek Görev veya Görev <> öğelerini döndürürler (TypeScript'te bir Söz <> olur) xxxAsync …
103 c#  architecture  async 

4
“Lib” ve “vendor” klasörleri arasındaki fark nedir?
Kaynak klasör hiyerarşisi ile ilgili olarak, bazı ortak gibi özellikler her zaman vardır src, docya testdaha doğrusu kolay anlaşılır içeriğe sahip klasörleri. Ancak, ben büyük projeler a ikisine de sahip olduğunu fark libve vendoradları “üçüncü taraf dahil ima olarak hep aynı düşünce vardı iken, klasörler librariesharici gelen vendors”. Yine de, …

12
Test edilebilir kod daha iyi kod mu?
Düzenli olarak benim koduyla birim testleri yazma alışkanlığı olsun çalışılıyor ama okumuştum ilk yazmak için önemlidir test edilebilir kod . Bu soru test edilebilir kod yazmanın SOLID ilkelerine değinir, ancak bu tasarım prensiplerinin hiç test yazmayı planlamadan faydalı olup olmadığını (veya en azından zararlı olmadığını) bilmek istiyorum. Netleştirmek için - …

14
Bir programlama dilinde nasıl ustalaşabilirim?
Bir dil öğrenmenin bir kitap satın alabildiğini, örnekleri takip edebildiğini ve mümkün olduğunda alıştırmaları deneyebileceğini biliyorum. Ama gerçekte aradığım şey, öğrendikten sonra dilin nasıl ustalaşılacağı. Şimdi, tecrübenin önemli bir faktör olduğunu biliyorum, ama peki dilin iç kısımlarını öğrenmek, altta yatan yapı nedir, vb. Bu kitabı okumak, o kitabı okumak, bu …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.