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

1
Java logger: Statik blok başlatma veya değişken bildirimde başlatma
Şu anda projemde logger'ı şu şekilde kullanıyorum: private static final Logger LOGGER; static{ LOGGER = logger.getLogger(); } Logger değişken başlatmak için statik blok kullanmak için bir kod inceleme var. Bildirge değişkeninin kendisinde logger değişkenini değerlendirmem söylendi. private static final Logger LOGGER = Logger.getLogger(); Statik blokta başlatmazsam ne fark yaratacağını anlamaya …
15 java 

1
Protobuf 3 neden mesajlardaki tüm alanları isteğe bağlı kıldı?
Protobuf sözdizimi 3 kelime bırakarak isteğe tüm alanları yapılmış requiredve optionalönceki proto2 sözdiziminden. Geliştiricilerden bazı yorumları okumak , ileri / geri ikili uyumluluğu arttırmak için yapıldığı anlaşılıyor. Ama benim için, bu sadece paket adlarının sürümlendirilmesi ile zorlanabilirdi, com.example.messages.v1ve sonra müşterilerin anladıkları serileştiricileri uygulamalarına izin verin. Aynı zamanda, bir yazılım mühendisliği …

5
Çok sayıda yapılandırılmış yapılandırma / özellik dosyasını işlemek için en iyi uygulamalar
Çok sayıda sunucusu olan bir sistem düşünün. Her birinin bir dizi ayarı vardır: Bazıları sunucuya özgü Bazıları bölgeye özgü Bazıları ortak Belki bazı özel gruplamalarınız olabilir, örneğin bu sunucu grubu sadece okumak içindir vb. Aklımdaki mevcut uygulama, yetenekleri geçersiz kılan basit bir özellik yapısıdır. Örnek olarak Google sunucularını ele alalım. …

5
Eski kodlar daha yeni dil yapılarını kullanacak şekilde güncellenmeli mi yoksa eski yapılara takılı kalmalı mı?
Uzun zaman önce yazılmış bazı fonksiyonel kodlarda, programlama dilinde yazılmadan önce bazı özellikler geliştirmek istiyorum. Teorik olarak, tüm proje dilin güncel versiyonunu kullanır; ancak, bu özel modül (ve aslında diğer birçok modül) hala eski lehçede yazılmıştır. Yapmalımıyım: Kodun dokunmak zorunda olmadığım kısımlarına dokunmuyorum, ancak yamayı yazmayı kolaylaştıran ancak modülün başka …

5
Koşullu ise set.add () işlevinin Boole dönüşü?
Set sınıfının add işleci, bir öğe (eklenecek olan) zaten orada değilse doğru, aksi halde false olan bir boole döndürür. Yazıyor if (set.add(entry)) { //do some more stuff } temiz kod yazma açısından iyi bir stil olarak kabul edildi? Bir kerede iki şey yaptığınızdan beri merak ediyorum. 1) eleman eklemek ve …


3
Alaycı üretim kodunda işleme koyuluyor
Bir IReader arayüzü, IReader arayüzü ReaderImplementation uygulaması ve okuyucudan veri tüketen ve işleyen bir sınıf ReaderConsumer varsayarsak. public interface IReader { object Read() } uygulama public class ReaderImplementation { ... public object Read() { ... } } Tüketici: public class ReaderConsumer() { public string location // constructor public ReaderConsumer() { …

1
RESTful API ve i18n: Yanıt nasıl tasarlanır?
Esas olarak tek bir müşterinin ihtiyaçlarını karşılamaya yönelik RESTful API tasarlıyoruz. Çok özel koşulları nedeniyle, bu müşteri mümkün olduğunca az istekte bulunmalıdır. API, i18n'yi isteklerde bir Accept-Language üstbilgisi aracılığıyla işler. Bu, istemcinin bir isteğin yanıtlarını kullanılabilir tüm yerel ayarlarda depolaması gereken bir özellik dışında istemcinin yapması gereken her şey için …
15 rest  api  api-design  http 

4
Java'da null denetimi yapmak zorunda kalmadan bir değer getiriliyor
Çoğu zaman kendimi nullPointerExceptions önlemek için bazı veri hiyerarşisinden bir değer getirilirken null kontrol, hatalara eğilimli ve bir sürü boilerplate ihtiyacı buluyorum. Bir nesneyi getirirken boş denetimi atlamama izin veren çok basit bir rutin yazdım ... public final class NoNPE { public static <T> T get(NoNPEInterface<T> in) { try { …
15 java  null 

3
Redux, sterilize edilmiş bir Tanrı nesne modeli kullanıyor mu?
Redux'u öğrenirken, Tanrı-nesne paterni (veya anti-patern) aklıma geldi- her ikisinin de tüm uygulama verilerini tutan tek bir büyük nesnesi ve bunları manipüle etme yöntemleri var. Ancak Redux, Nesneyi değişmez kılmak ve katı imzayı sürdüren saf işlevler gibi bazı kısıtlamalar koymuştur. Yani soru geldi, Redux Tanrı nesnesinin temizlenmiş bir versiyonunu kullanıyor …
15 redux 

5
Küçük fonksiyonlar ve bağımlı fonksiyonların aynı fonksiyonda tutulması
Bir dizi düğüm ayarlar ve bunları grafik benzeri bir yapıda birbirine bağlayan bir sınıf var. En iyisi: Düğümleri tek bir işlevde başlatma ve bağlama işlevini koruma Başlatma ve bağlantı işlevlerini iki farklı işlevde bulundurun (ve işlevlerin çağrılması için bağımlı bir sıraya sahip olun - ancak bu işlevlerin özel olduğunu unutmayın.) …

4
boyutlar, dizin vb. için size_t veya int
C ++ 'da, size_t(veya daha doğru bir şekilde T::size_type"genellikle" olan size_t; yani, bir unsignedtür) , vb. size()Argümanının dönüş değeri olarak kullanılır .operator[]std::vector Öte yandan, .NET dilleri aynı amaç için kullanır int(ve isteğe bağlı olarak long); aslında, imzasız türleri desteklemek için CLS uyumlu diller gerekli değildir . .NET'in C ++ 'dan …
15 c#  c++  array 

3
DTO nesnelerini mikro hizmetler arasında paylaşma
TL; DR - Bir POJO kütüphanesini hizmetler arasında paylaşmak uygun mudur? Genel olarak, hizmetler arasındaki paylaşımın mümkünse kesinlikle sınırlı kalmasını isteriz. Veri paylaşan hizmetin, istemcilerin kullanması için bir istemci kitaplığı sağlayıp sağlamayacağı konusunda bazı tartışmalar olmuştur. İstemci-lib, hizmetin bir istemcisinin kullanması için genellikle isteğe bağlıdır ve API'yı tüketebilir, ancak istemci-lib'in …

7
Kavşak tablosu oluşturmak yerine boş değerli bir yabancı anahtar kullanmanın dezavantajları
Aşağıdaki ER diyagramım olduğunu varsayalım: Ben bir yabancı anahtar kullanarak ilişkiyi temsil Şimdi eğer Schooliçinde Student, anlatabilirdim NULL(a çünkü değerleri Student bir ait için gerekli değildir School, örneğin): Yani (okuduğum şeye göre) doğru yol, ilişkiyi temsil etmek için bir kavşak tablosu oluşturmaktır, örneğin: Bu şekilde, NULLtabloda hiçbir değer bulunamaz School_has_Student. …

6
Otonom Mikro Hizmetler, olay kuyrukları ve hizmet keşfi
Son zamanlarda mikro hizmetler hakkında çok şey okudum ve işte şimdiye kadar aldığım sonuçlardan bazıları (herhangi bir noktada yanılıyorsam lütfen düzeltin). Mikro hizmetler mimarisi, etki alanına dayalı tasarımla uyumludur. Genellikle bir MS bir sınırlı bağlamı temsil eder. Mikro-servis A , mikro-servis B'de bulunan bir işlevsellik gerektiriyorsa , modelim muhtemelen yanlıştır …

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.