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

4
Neden GraphQL yerine SQL kullanmıyorsunuz?
Geçenlerde RESTful'dan daha üstün olduğunu iddia eden GraphQL'i öğrendim. Ancak, neden SQL ifadelerini bir HTTP GET isteğine koymadığımızı merak etmeye başladım. Örneğin, GraphQL'de { Movie(id: "cixos5gtq0ogi0126tvekxo27") { id title actors { name } } } Hangi SQL karşılığı daha basit değil SELECT id, title FROM movies WHERE id = cixos5gtq0ogi0126tvekxo27; …

5
Const olarak argüman iletmek erken optimizasyon mudur?
"Erken optimizasyon tüm kötülüklerin köküdür" Sanırım hepimiz hemfikiriz. Bunu yapmaktan kaçınmak için çok uğraşıyorum. Ama son zamanlarda Value yerine const Reference ile parametrelerin geçirilmesi uygulamasını merak ediyorum . Önemsiz işlev argümanlarının (yani en ilkel olmayan türlerin) tercihen const referansı ile geçirilmesi gerektiği öğretildi / öğrenildi - okuduğum birkaç kitap bunu …

1
Sabitleri tüm büyük harflerle adlandırmanın geçmişi nedir?
Tüm büyük harflerde sabit adlandırma kuralının ardındaki tarih nedir? Sezgim, insanların önişlemci makrolarını tüm büyük harflerle adlandırmak için etkili bir şekilde ayrı bir ad alanında yaşayacakları ve isim çarpışmalarını önleyecekleri bir uygulama geliştirdikleri C önişlemcisi ile başladığıdır. Benim inancım, bu uygulamanın, önişlemci olmayan sabitlere ( enums, constdeğişkenler) de uygulanacak şekilde …

3
Veri çoğaltması olmayan mikro hizmetler
Veri çoğaltmasını veya en basit mikro hizmet tasarımı için paylaşılan bir veritabanını önlemek için zor buluyorum, bu da bir şey eksik olduğumu düşündürüyor. Karşılaştığım sorunun temel bir örneği. Birinin bir envanteri yönetmek için bir web uygulaması kullandığını varsayarsak, iki hizmete ihtiyaç duyarlar; bunlardan biri, kalemleri ve stoktaki miktarı yöneten envanter …

3
Monolitten mikro hizmetlere geçerken yabancı anahtar kısıtlamaları nasıl ele alınır?
Ekibim monolitik bir ASP.NET uygulamasından .NET Core ve Kubernetes'e geçiş yapıyor. Kod değişiklikleri beklendiği gibi gidiyor gibi görünüyor, ancak ekibimin çok fazla anlaşmazlık yaşadığı yerlerde veritabanı etrafında. Şu anda tüm işimiz için tüm verileri barındıran oldukça büyük bir SQL Server veritabanına sahibiz. Ben veritabanı bir (mantıksal) veritabanında katalog verileri, başka …

3
Aynı nesneyi sararken sarmalayıcılar == operatörünü kullanarak eşit karşılaştırmalı mıdır?
Bir geliştiricinin XML'den öznitelikleri kolayca ayrıştırmasını sağlayan XML öğeleri için bir sarıcı yazıyorum. Sarıcı, sarılmakta olan nesneden başka bir duruma sahip değil. Ben ==operatör için bir aşırı yük içeren aşağıdaki uygulamayı (bu örnek için basitleştirilmiş) düşünüyorum . class XmlWrapper { protected readonly XElement _element; public XmlWrapper(XElement element) { _element = …
19 c#  .net  operators 

6
Bir işlevin Big O yürütme süresini değiştirdiğinizde buna ne denir [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . Geçen yıl kapalı . Diyelim ki bir veritabanını O(n^2)zamanında ayıran bir fonksiyonum var . Yeniden işlemeye devam etmek istiyorum, böylece O(n log(n))zamanında …
19 complexity  big-o 

5
Sadece Statik yöntemler içeren *** Yardımcı veya *** Util sınıflarının kullanımı bir AntiPattern mi?
Genellikle Java'da veya herhangi bir dilde yardımcı veya util sınıflarıyla karşılaşıyorum. Bu yüzden kendime bunun bir çeşit Anti Desen olup olmadığını soruyordum ve bu tür sınıfların varlığı sadece bir Yazılımın tasarımında ve mimarisinde eksikliklerin olmamasıdır. Genellikle bu sınıflar, birçok şey yapan sadece statik yöntemler kullanılarak sınırlandırılır. Ancak çoğunlukla bağlama bağımlı …

4
Coroutines neden geri döndü? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 2 yıl önce kapalı . Coroutines için temelin çoğu 60'larda / 70'lerde meydana geldi ve daha sonra alternatifler lehine durdu (örneğin, iplikler) …

8
C # sözlüklerini kullanmanın TryGetValue'dan daha iyi bir yolu var mı?
Kendimi çevrimiçi olarak sık sık soru ararken buluyorum ve birçok çözüm sözlükler içeriyor. Ancak, bunları uygulamaya çalıştığımda, kodumda bu korkunç reek var. Örneğin, her değer kullanmak istediğimde: int x; if (dict.TryGetValue("key", out x)) { DoSomethingWith(x); } Bu esasen aşağıdakileri yapmak için 4 kod satırıdır: DoSomethingWith(dict["key"]) Out anahtar kelime kullanarak bir …

1
Java 8 kodu için koşullu kapsamı ölçmek anlamlı mı?
Java 8 için geçerli araçlarla koşullu kod kapsamının ölçülmesinin geçersiz olup olmadığını merak ediyorum. Java 8'lerle Optionalve Streamçoğu zaman kod dallarından / döngülerden kaçınabiliriz, bu da tüm olası yürütme yollarını test etmeden çok yüksek koşullu kapsama alanı almayı kolaylaştırır. Eski Java kodunu Java 8 koduyla karşılaştıralım: Java 8'den önce: public …

4
Hangi UML diyagramları hala yaygın olarak kullanılmaktadır? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 2 yıl önce kapalı . Yazılım mühendisliğini lisans düzeyinde öğretiyorum ve UML uygulayıcılarına bir sorum var. Çoğu yazılım mühendisliği ders kitabı UML …

4
Python bloklarındaki kolon teknik olarak gerekli mi?
Bu gerçekten daha fazlasını anlamak isteyen bir python acemi tarafından teorik bir sorudur. Python'daki blok ilk ifadelerinden sonra iki nokta üst üste unutmaya devam ediyorum. Demek istediğim bunlar: for <variable> in <sequence>: if <blah blah>: Benim düşüncem unutmaya devam etmemin bir nedeni, fiili olarak örtük olmalarıdır: iki nokta üst üste …
19 python  syntax  theory 

8
Neden alanlardaki önek önerilmez?
Eski günlerde, Macarca gösterim yaptık. Bu artık passé olarak kabul ediliyor ve çoğunlukla artık kullanmıyorum, ancak hala m_önek için üye alanlarını belirtmek için kullanıyorum . Benim için, başka birinin kodunu okuyorsam ve bunu görüyorum: count = 3; countBu işleve yerel bir değişken olduğunu varsayalım ve işlev başka bir yerde kullanılacak …

10
Bir yazılımı daha iyi performans için, geliştirmenin başında veya sonunda optimize etmek ne zaman daha iyidir?
Ben küçük bir yazılım geliştiricisiyim ve bir yazılımı daha iyi performans (hız) için optimize etmek için en iyi zamanın ne olacağını merak ediyordum. Yazılımın yönetilmesi son derece büyük ve karmaşık olmadığı varsayılarak, en iyi duruma getirmek için daha fazla zaman harcamak daha mı iyidir yoksa sadece tüm işlevleri doğru şekilde …

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.