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
Guid.NewGuid () Guid.Empty olup olmadığını kontrol etmeye bile değer mi?
Üzerinde çalıştığım projelerden birinde, aşağıdaki düzen üzerinde oldukça düzenli olarak görülmektedir: var guid = Guid.NewGuid().ToString(); while (guid == Guid.Empty.ToString()) { guid = Guid.NewGuid().ToString(); } Her ne kadar bir GUID'in benzersiz olduğunu garanti etmiyorsam ve MSDN dokümantasyonuna göre üretilen bir GUID'in sıfır olabileceğini anlamış olsam da , bu aslında hem hesaplamalı …
28 .net  security 

2
Printf ailesi için yüzde belirteci (%) neden format belirteci olarak seçildi?
Herkes bilir ki, en azından C de, printfformatlanmış bir dize yazdırmak için fonksiyonlar ailesini kullanıyorsunuz . Ve bu işlevler , bir format belirticinin başlangıcını belirtmek için bir yüzde işareti ( %) kullanır. Örneğin, %dbir yazdırmak intve %ubir yazdırmak anlamına gelir unsigned int. printfİşlevlerin ve biçimlendirmenin yer tutucuların nasıl çalıştığını bilmiyorsanız …
27 c  history 

2
İş mantığı değiştiğinde başarısız olursa, Birim testi kırılgan kabul edilir mi?
Lütfen aşağıdaki kodu inceleyin; Kadın Cinsiyeti olan birinin teklif için uygun olup olmadığını görmek için test yapar1: [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } Bu birim testi …

6
Hataların giderilmesinde marjinal fayda var mı [kapalı]
Eski bir meslektaşımdan tüm hataların düzeltilmesi gerekmediğini duydum, çünkü öncelikli hatalar listesine girdiğinizde, bu hatanın daha da belirsiz kalmasına neden olan kullanım durumu azalır veya müşteri memnuniyeti azalır. Ancak bu hatayı düzeltmek için hala çok zaman harcamak zorundasınız. Ürün sahibimizi bu kavram hakkında ikna etmek için iyi bir kaynak bulamadım. …

2
Saf soyut sınıfların ve arayüzlerin uygulanması
Bu, C ++ standardında zorunlu olmamasına rağmen, örneğin GCC'nin, saf soyut olanlar da dahil olmak üzere ebeveyn sınıflarını uygulama biçimi, söz konusu sınıfın her örneğine bu soyut sınıf için v-tablosuna bir işaretçi eklemek yoluyla görünmektedir. . Doğal olarak, bu, bu sınıfın her örneğinin boyutunu, sahip olduğu her ana sınıf için …

4
Erkek ve kadın dışındaki cinsiyet modeli için bir endüstri standardı var mı?
Kişiler, kullanıcılar, servisler ve kuponlar, imza paketleri vb. Cinsiyet modelini düşünüyorum . Bu modern günlerde ve ülkeler arasında öznel kimliğe ilişkin farklı yasalarla, bunu göz önünde bulundurmalı ve Kişi varlığımı sadece erkek ve kadın seçeneklerinden daha fazlasıyla modellemeli miyim? Seçenekler şunlardır: tanımsız, cevaplanmamış, diğer, transseksüel ... veya bilmediğim başka bir …

5
Tamsayı’dan Tek’e dönüşüm ne zaman hassas olabilir
Ben okuyordum Açık Sıkı Dönüşümler ve Seçenek Genişletme ile ilgili Microsoft'tan bir makale ı kısmına geldiğimde Aşağıdaki dönüşümler hassasiyetini kaybedebilir: Tekten Tamsayı Tek-Uzun veya Uzun Tek veya İkili Ondalık Ancak, bu dönüşümler bilgi veya büyüklüğü kaybetmez. .. ama veri türleriyle ilgili başka bir makaleye göre , Tamsayı türü -2.147.483.648 - …


3
Asansörler tarafından seyahat kat siparişlerine giden en kısa yolu bulmak için hangi algoritma kullanılır?
Bir asansörü simüle etmeye çalışıyorum, her zaman olduğu gibi bir seferde sadece tek bir sipariş alarak çok basit bir şekilde başladım, daha sonra sıraya göre asansöre bellek ekledim; Açıkçası en iyi yaklaşım değil. Bu yüzden şu anda çok basit ve "kısa görüşlü" bir mantık kullanıyorum, ki şu anki kat, bana …

5
İstisnaları yakalamak / atmak, aksi halde saf bir yöntemi zorlaştırıyor mu?
Aşağıdaki kod örnekleri sorumu bağlamı sağlar. Room sınıfı bir temsilci ile başlatıldı. Room sınıfının ilk uygulamasında, delegelere istisnalar atan hiçbir muhafız yoktur. Bu istisnalar, delegenin değerlendirildiği Kuzey mülkünde kabarcıklı olacaktır (not: Main () yöntemi, bir Oda örneğinin müşteri kodunda nasıl kullanıldığını gösterir): public sealed class Room { private readonly Func<Room> …

2
Role Dayalı REST API?
Farklı rollere sahip birkaç kullanıcının içerdiği kaynaklara erişebileceği bir REST API'si yapıyorum. Kapsamı basit tutmak için “öğrenci / öğretmen / sınıf” etki alanını ele alalım: GET /students erişmek için kaynaktır. Kullanıcıların Öğrenci ve / veya Öğretmen gibi rolleri olabilir. Öğrenciler yalnızca sınıflarındaki öğrencilere erişebilecekler. Öğretmenler, öğrettikleri sınıftaki öğrencilere erişebileceklerdir. Bazı …

6
Birim testleri olmadan çevik
Çalıştığınız kod tabanı% 0 birim test kapsamı içeriyorsa "çevik gelişim" hakkında konuşmak veya "çevik bir metodoloji" uyguladığınızı iddia etmek mantıklı mı? (Ve takım olarak, hiçbir şey yapmıyorsunuz). Bunu açıklığa kavuşturmak için: bana göre, mantıklı değil. Kişisel tecrübeme göre, birim testlerinin gerçekten "çevik" olmanıza izin veren tek araç olduğunu (yani değişikliklere …

13
Neden programlama dilleri senkron / asenkron problemi otomatik olarak yönetmiyor?
Bununla ilgili çok fazla kaynak bulamadım: Eşzamanlı olmayan bir şekilde eşzamansız kod yazabilmenin mümkün / iyi bir fikir olup olmadığını merak ediyordum. Örneğin, bir veritabanında depolanan kullanıcı sayısını (eşzamansız bir işlem) alan bazı JavaScript kodları: getNbOfUsers(function (nbOfUsers) { console.log(nbOfUsers) }); Böyle bir şey yazabilmek güzel olurdu: const nbOfUsers = getNbOfUsers(); …

7
Eş / Kod İnceleme Hayal kırıklıkları
Kendime bir süperstar dev demezdim, ama nispeten deneyimli biri. Kod kalitesini yüksek bir seviyede tutmaya çalışıyorum ve kodlama stilimde her zaman iyileştirmeler yapmak, kodu verimli, okunaklı ve tutarlı hale getirmek ve ekibi tutarlılık sağlamak için bir kalıp ve metodoloji izlemeye teşvik etmek için çalışıyorum. Hem kalite hem de hız arasındaki …

8
Belleğin ne zaman çıkarılacağını statik olarak tahmin etmek mümkün mü --- yalnızca kaynak koddan?
Bellek (ve kaynak kilitleri) bir programın yürütülmesi sırasında belirleyici noktalarda işletim sistemine geri gönderilir. Bir programın kendi başına kontrol akışı kesin olarak, belirli bir kaynağın nerede dağıtılabileceğini bilmek için yeterlidir. Tıpkı bir programcının fclose(file)programın ne zaman yapıldığını nasıl yazacağını bildiği gibi. GC'ler bunu, kontrol akışı yürütüldüğünde çalışma zamanında doğrudan çözerek …
27 parsing  memory 

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.