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
.NET'te günlüğe kaydetme ve izleme için en iyi yöntemler
Bu konuda en iyi uygulamalar için bazı altın kurallar bulmaya çalışarak izleme ve kaydetme hakkında çok şey okudum, ancak hiçbiri yok. İnsanlar, iyi programcıların iyi izler ürettiğini söylüyorlar, ancak bu şekilde koymak ve deneyimlerden gelmesi gerekiyor. Ayrıca burada ve internette benzer soruları okudum ve sorduğum aynı şey değiller veya tatmin …
53 .net  logging 

11
Sonsuz bir listeden en yüksek 100 numarayı alın
Arkadaşımdan birine bu röportaj sorusu soruldu - “Herhangi bir zamanda ilk en yüksek 100 sayıyı döndürmek için bir veri yapısını korumanız gereken sonsuz sayıdaki sayılar listesinden gelen sabit bir sayı akışı var. Bu basittir, sıralanmış bir listeyi azalan düzende tutmanız ve bu listedeki en düşük numarada bir iz bırakmanız gerekir. …
53 numbers  big-o  puzzles 


14
TDD gerçekten karmaşık projeler için çalışıyor mu?
TDD projeleri sırasında yaşadığım problemlerle ilgili bu soruyu soruyorum. Birim testleri oluştururken aşağıdaki zorlukları farkettim. Sahte veri oluşturma ve sürdürme Büyük alay verilerini korumak zor ve gerçekçi değil. Veri tabanı yapısı değişime uğradığında daha da zordur. GUI testi MVVM ve GUI'yi test etme becerisiyle bile, GUI senaryosunu yeniden oluşturmak çok …
53 tdd 

10
Testler nasıl test edilir?
Kodumuzu daha doğru hale getirmek için test ediyoruz (aslında, yanlış olma olasılığı daha düşüktür ). Bununla birlikte, testler de koddur - hatalar da içerebilirler. Eğer testleriniz bozuksa, kodunuzu daha iyi hale getiremezler. Testlerde üç olası hata türü düşünebilirim: Mantıksal hatalar, programcı eldeki görevi yanlış anladığında ve testler yapması gerektiğini düşündüğü …

27
Gördüğünüz en korkunç para israfı nedir ve bu konuda ne yaptınız? [kapalı]
Genellikle programcılar olarak büyük kuruluşların, şişirilmiş ve sorunlara verimsiz çözümlere büyük miktarda para harcadığını görüyoruz. Bu beni çok üzüyor çünkü kurumların en iyi cins çözümlerinden faydalanmalarını seviyorum. Bununla birlikte, programcı olarak yeteneklerim kilit karar vericileri etkileme konusunda sınırlıdır ve çoğu zaman konuya bakış açım kendi küçük teknik dünyamla sınırlıdır. İşte …

4
Geliştirmek için birleştirilmiş bir özellik yönetim tarafından ertelenirse ne olur?
Son zamanlarda webapp'ımızın (otomatik kayıt olma) bir özelliğinin yönetim tarafından ertelendiği için bir sorun yaşadık, çünkü başlangıçta "soğuk" olduğunu hissettiler, ancak üzerinde çalışmak için çalıştığımız diğer tüm özellikleri istediler. Sorun, bu işlevselliğin bir sonraki sürümde canlı yayınını beklediğimiz tüm diğer özelliklerle birlikte tamamlandığında gelişmesiyle bir araya gelmesiydi, böylece genellikle yaptığımız …

1
Swift Protokolü Adlandırma Kuralları [kapalı]
Temel olarak c # arka planından gelince, ben davranış tanımlayan bir uygulama içermeyen bir nesneyi tanımlamak için "arayüz" terimini kullanmaya alışkınım. C # 'da, arabirim isimleri "I" ile olduğu gibi IEnumerable, vb. Şekilde hazırlamaktır . Tabii ki, kavram farklı dillerde farklı isimler var. Swift'de aynı konsepte "protokol" denir. Protokoller geliştirirken, …

5
Açılacak dosya adlarını mı girmeliyim yoksa dosyaları açmalı mıyım?
Diyelim ki bir metin dosyasıyla işleri yapan bir fonksiyonum var - örneğin ondan okuyor ve 'a' kelimesini kaldırıyor. Bir dosya adı iletebilir ve işlevdeki açma / kapama işlemini gerçekleştirebilir ya da açılan dosyayı iletebilir ve çağıran kişinin onu kapatmakla ilgileneceğini tahmin edebilirim. İlk yöntem, hiçbir dosyanın açık bırakılmadığını garanti etmenin …

6
Java iyi uygulamada mümkün olduğunda Lambda ifadeleri kullanmak mı?
Java 8'de tanıtılan Lambda ifadesinde usta oldum. İşlevsel bir arayüz kullanırken, fonksiyonel arayüzü uygulayan bir sınıf oluşturmak yerine her zaman bir Lambda ifadesi kullanma eğiliminde olduğumu fark ettim. Bu iyi bir uygulama olarak mı kabul edilir? Yoksa fonksiyonel bir arayüz için bir Lambda kullanmanın uygun olmadığı durumlar mı?
52 java  lambda 

4
Unix borunun tam ustalığı nedir
Douglas Mcllroy'un konseptle nasıl ortaya çıktığını ve Ken Thompson'ın bir gecede nasıl uyguladığını anlattım. Anladığım kadarıyla pipe, bir işlemin yazdığı ve diğerinin okuduğu iki işlem arasında bir bellek parçasını paylaşan bir sistem çağrısıdır. İşletim sistemi kurumları veya konseptlerine aşina olmayan biri olarak, hikayedeki "dahi" nin tam olarak ne olduğunu merak …

9
İstisna at veya kodun başarısız olmasına izin ver
Bu stile karşı herhangi bir artıları ve eksileri olup olmadığını merak ediyorum: private void LoadMaterial(string name) { if (_Materials.ContainsKey(name)) { throw new ArgumentException("The material named " + name + " has already been loaded."); } _Materials.Add( name, Resources.Load(string.Format("Materials/{0}", name)) as Material ); } Bu yöntem, her biri için nameyalnızca bir …
52 exceptions 

11
Basamaklı refactoringleri nasıl önleyebilirim?
Bir projem var. Bu projede bir özellik eklemek için yenilemek istedim ve özelliği eklemek için projeyi yeniden düzenledim. Sorun şu ki, bittiğinde, uyum sağlamak için küçük bir arayüz değişikliği yapmam gerektiği ortaya çıktı. Ben de değişikliği yaptım. Ve sonra tüketici sınıf, yeni arayüzle mevcut arayüzüyle uygulanamaz, bu yüzden de yeni …


6
Yazılımın ücretsiz deneme sürümüne “kendi kendini imha etme” özelliğini nasıl uygularım?
Potansiyel müşterilerin ve kullanıcıların ürünlerini test etmelerine izin vermek için, serbest deneme ve freemium modeline (yani, yazılımının kısıtlı ve / veya soyulmuş özelliklere sahip ömür boyu ücretsiz bir sürümü) karşı devam eden bir argüman var. Araştırmamın ardından, ücretsiz denemenin, hem yazılımı kullanan bireyin kullanıcı deneyiminin yararına hem de satıcının hem …

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.