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

3
CDN Yedekleri için Yerel JS ve CSS Kaynakları Sağlama
Verilen CDN'ler iyi bir şeydir çünkü istemciye daha yakın kaynaklar sunabilir, istemci bunları önbelleğe alabilir ve kendi sunucunuzdaki yükü azaltabilirsiniz. Son tarayıcılarda, üçüncü taraf sunucularından kaynak yüklemek Alt Kaynak Bütünlüğü (SRI) sayesinde güvenliği azaltmaz . CDN'ler bazı ülkelerde kapalı veya engellenmiş olabilir ve çevrimdışı geliştirilirken kullanılamaz 1 . Bence CDN'leri …
13 javascript  css  cdn 

2
Çok sayıda / import deyimi kullanmak kötü tasarım veya kod kokusunu gösteriyor mu?
Genellikle, sınıf dosyasının üst kısmında birkaç kullanarak deyimi görüyorum. Misal: using System.Collections.Generic; using System.IO; using System.Xml.Linq; Ama üzerinde çalıştığım bir projede, birkaç kez bir sınıf dosyasında 20 veya daha fazla kullanım / ithalat görüyorum. Bu kötü tasarım mı? Bir şeyi yapmak için tasarlanan sınıfların sadece birkaç bileşene bağlı olması gerektiği …

4
IDE'm bu kadar akıllıysa neden “klon ()” yayınlamam gerekiyor?
Kod yazarken IDE ( NetBeans ) türü benim denetler Collections. Ama sonra, neden geri döndürülen nesneyi dökmem gerekiyor Object.clone()? Hangisi iyi. Zarar yok faul yok. Ama yine de anlamıyorum. Tür denetimi, döndürülmeden döndürülen nesnenin Object.clone()mümkün olmaması mı? Jenerik çerçevesi beni IDE kontrol edebilir düşündürüyor türü "sağ tarafındaki nesne başvurularını = …

1
Nesne yaşam boyu değişmezler ve taşıma semantiği
C ++ 'ı uzun zaman önce öğrendiğimde, C ++' ın noktasının bir kısmının, döngülerin "döngü değişmezlerine" sahip olması gibi, sınıfların da nesnenin ömrü ile ilişkili değişmezleri olduğu gerçeği vurgulandı - doğru olması gereken şeyler çünkü nesne canlı. Yapıcılar tarafından kurulması ve yöntemlerle korunması gereken şeyler. Kapsülleme / erişim kontrolü, değişmezleri …

3
O Zaman Ne Zaman (GWT) ve Düzenleme Yasası İddiası (AAA) arasındaki farklar?
TDD'de Arrange Act Assert (AAA) sözdizimi vardır: [Test] public void Test_ReturnItemForRefund_ReturnsStockOfBlackSweatersAsTwo_WhenOneInStockAndOneIsReturned() { //Arrange ShopStock shopStock = new ShopStock(); Item blackSweater = new Item("ID: 25"); shopStock.AddStock(blackSweater); int expectedResult = 2; Item blackSweaterToReturn = new Item("ID: 25"); //Act shopStock.ReturnItemForRefund(blackSweaterToReturn); int actualResult = shopStock.GetStock("ID: 25"); //Assert Assert.AreEqual(expectedResult, actualResult); } BDD'de yazma testleri benzer …
13 c#  unit-testing  tdd  bdd 

4
Bir yapıyı c olarak paketlemenin standart bir yolu veya standart bir alternatifi var mı?
CI'da programlama yaparken, GCCs __attribute__((__packed__))özniteliğini kullanarak yapıları paketlemenin paha biçilmez olduğunu gördüm, böylece yapılandırılmış bir uçucu bellek yığınını bir veri yolu üzerinden iletilecek, depoya kaydedilecek veya bir kayıt bloğuna uygulanacak bir bayt dizisine kolayca dönüştürebilirim. Paketlenmiş yapılar, bir bayt dizisi olarak işlendiğinde, hem savurgan, olası bir güvenlik riski hem de …

1
HTML etiketlerindeki nitelikleri sipariş etmek için standartlaştırılmış bir uygulama var mı?
Bir AngularJS projesi üzerinde çalışıyorum ve öznitelikleri birçok HTML öğeleri çok sayıda: <button type="submit" ng-click="Page.UI.DetailView.ExecuteFunction()" ng-disabled="step5.$invalid" class="btn btn-success pull-right"> Submit this Product </button> Bu niteliklerin sırası için standart bir sözleşme var mı? Alfabetik? Anlamlara göre gruplandırılmış mı (örneğin tüm açısal nitelikler birlikte)? Önce standart HTML özellikleri (örneğin "tür")?

2
Devam eden bir taahhüt aniden henüz orada olmayan bir başkasına bağlı gibi göründüğünde nasıl başa çıkılır?
Git konusunda deneyimsizim ama buna alışmak için elimden geleni yapıyorum ve şimdiye kadar sadece üzerinde çalıştığım projeler için kullanıyorum. Kodladığımda doğal olarak yukarıdan aşağıya bir yaklaşım var (geleceği bilemediğim gibi) ve tekrarlayan bir tema var: Biraz iş yaparım. İşimi "övgüye değer" bir şeye dönüştürmek için başka işler yapmam gerektiğini öğrendim. …
13 git 

5
Kırık Eski / Eski Birim Testleri
Büyük bir şirkette çalışıyorum ve binlerce junit testiyle büyük bir java uygulamasından sorumluyum. Bu role geçtiğimden beri 200-300 kırık test yapıldı (muhtemelen yıllarca kırıldı). Testler eski ve kırılgandır ve tipik olarak canlı sanal alan verileriyle biten spagetti bağımlılıklarının bir karışıklığıdır. Amacım% 100 geçiş testlerinden geçiyor, böylece birim test hatalarını derleyebiliyoruz, …

1
Veritabanındaki alan modelleri sürdürülebilir bir çözüm olabilir mi?
Microsoft teknolojisine dayanan orta-küçük ölçekli bir şirket için veritabanı geliştirici olarak yeni bir işe başladım. En iyi uygulamalar, tasarım modelleri, testler ve proje yönetimi ile ilgili olarak okulda öğretilenlerden ne kadar uygulama saptığının farkına vardım. Beni en çok rahatsız eden şey, ana veritabanı geliştiricimizin (bundan böyle "John" olarak anılacaktır) model …

3
Hangi nedenlerle Swift'teki her delege için ayrı bir sınıf uzantısı kullanırsınız?
Bir Ray Wenderlich öğretici ile çalışıyordu ve yazar onları sınıfta yani ele alınması yerine delege geri çağırmaları tutmak için sınıf uzantıları kullandığını fark ettim: sınıf uzantısı içindeki geri çağrılara temsilci seçme: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } sınıf içinde yer …

4
Windows için yalnızca 32 bit veya 32 ve 64 bit sürümlerini dağıtmalı mıyım?
Derlenmiş bir dilde yazılmış çapraz platform uygulamam var. Linux için, hem amd64 hem de i386 yapılarının kullanıcı tarafından kullanılabilmesi gelenekseldir, böylece kullanıcı mevcut ortamına uygun sürümü seçebilir. Mac'te Universal Binary yapmak gelenekseldir, bu nedenle Apple bilgisayarların birden fazla sürümünü destekleyebilir. Ya da sadece mevcut tüm Apple bilgisayarlar 64 bit mimari …

4
Karmaşık API'lara (örneğin Amazon S3) bağlı kod nasıl test edilir?
Amazon S3'e belge yükleyen bir yöntemi test etmekle uğraşıyorum, ancak bu sorunun önemsiz olmayan herhangi bir API / harici bağımlılık için geçerli olduğunu düşünüyorum. Sadece üç potansiyel çözüm buldum ancak hiçbiri tatmin edici görünmüyor: Kodu çalıştırın, aslında belgeyi yükleyin, AWS'nin API'sine yüklendiğini kontrol edin ve testin sonunda silin. Bu, testi …
13 testing  mocking 

3
Belirli koşullarda programcının dikkatini nasıl çekebilirim?
Bir örnekle başlayalım. Diyelim ki, exportağırlıklı olarak DB şemasına bağlı olarak adlandırılan bir yöntemim var . Ve “büyük ölçüde bağlıdır” derken, belirli bir tabloya sık sık (çok sık) yeni bir sütun eklemenin karşılık gelen exportyöntem değişikliğine yol açtığını biliyorum (genellikle yeni alanı dışa aktarma verilerine de eklemelisiniz). Programcılar genellikle exportyöntemi …


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.