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
Esnek DIFF Uygulaması için Sezgisel Yaklaşım
İş yerinde belge revizyonlarını karşılaştırmak için bir DIFF uygulaması oluşturdum. Bir O (ND) Fark Algoritması ve Varyasyonlarına dayanır . Önemli hale gelen bir şey, değişikliklerin listesini alıp okunabilir metne yorumlamaktır. Mevcut algoritma çok verimli olsa da, o kadar çok ki, genişletilmesi zor. Kısa Soru A * ve "dönüşler" için ceza …

1
Kırmızı bölgenin amacı nedir?
Kırmızı bölge, bellekte "ayrılmamış" yığın işaretçisinin ötesinde sabit boyutlu bir alandır. Derleyiciler, basit yaprak fonksiyonlarında bu alana erişmek için montaj yapar. Ancak kırmızı bölge için gerçek bir avantaj göremiyorum. Yığın işaretçisinin ötesinde belleğe erişmek gerçekten tehlikelidir ve kolayca veri bozulmasına yol açabilir . Bunu neden yapıyoruz? 2 işlemci talimatının (itme …
12 assembly  stack 

9
Teorik olarak hatasız programlar
Ben kod hatasız olamaz, ve bu teoremler hakkında konuşurken devlet makaleleri çok okudum: Durdurma sorunu Gödel'in eksiklik teoremi Pirinç teoremi Aslında Rice'ın teoremi durma probleminin bir sonucuna benziyor ve durma problemi Gödel'in eksiklik teoremi ile yakın ilişki içindedir. Bu, her programın en az bir istenmeyen davranışa sahip olacağı anlamına mı …
12 bug  theory 

5
Kod incelemelerini kimler yapmalı?
Şirketimde mimar kod incelemeleri yapıyor. Çok deneyimli ve akıllı bir yazılım adamı, bu yüzden çok iyi. Geliştiriciler kod incelemelerini yaptığında bunu yarıya kadar yapmazlar. Geliştiricilere daha fazla kod incelemesi yapmayı denedik, ancak kod incelemelerinin kalitesi iyi değildi. Scrum'ı geliştirme metodolojisi olarak kullanıyoruz. Ancak mevcut sistemde iki sorun vardır: Mimar bir …

4
Üye işlevleri ve matematik işleçleri için üye olmayan işlevler
Matrisler, vektörler, vb. İçeren doğrusal bir cebir kütüphanesi (uzun öykü kısa, bir okul ödevi) yazıyorum. Bu kütüphaneyi oluşturma sürecinde, nesneler üzerinde matematiksel işlemler yapan işlevler yaratacağım. Örneğin, devrik matris, ters matris, vektörü normalleştir vb. Bu tür bir işlev için "en iyi uygulama" nın ne olduğunu merak ettim ... Yani, bu …
12 c++  libraries  methods 

2
Kaynak kodunda API anahtarını gizlemenin en iyi yolu
Bir uygulamada, özellikle ac # .NET uygulamasında özel bir API anahtarını koruma konusunda bazı fikirlere ihtiyacım var. Öncelikle, kaynak koddaki herhangi bir şeyi gizlemenin teorik olarak imkansız olduğunu anlıyorum, bu yüzden başka bir fikir buldum, ancak bunun ne kadar makul olduğundan emin değilim. Her neyse, özel anahtarı doğrulamak için bir …
12 c#  api  authentication 

3
C ve C ++ programlarındaki türleri nasıl işaretlemeliyim?
Gelen benim bu cevap , kullandığım _ten iyi, tartışmalı bitti türleri, sonunda. Mevcut projelerimde kullandığım uygulama bu. typedef struct { int x; int y; } point_t; Bunun, stddef.hlike size_tveya ' dan C tipleriyle tutarlı olması amaçlanmıştır ptrdiff_t. Ancak, sorularımdaki bazı yorumlara göre, _tpostfix POSIX için ayrılmış gibi görünüyor. Bunun yerine …
12 c++  c  naming 

1
Eşzamanlılık hakkında akıl yürütmek için hangi ara temsiller kullanılabilir?
Bir derleyicinin programcı adına eşzamanlılık ile ilgili akıllı seçimler yapabilmesi için neyin gerekli olacağını daha iyi anlamaya çalışıyorum. Bu sorunun çok zor yönlerinin olduğunu anlıyorum: Yarış koşullarının olmamasını sağlamak Kodun aynı anda çalıştırılmasını sağlamak, kodun anlambilimsel anlamını etkileyen yan etkilere sahip olmamasını sağlamak Kodda mevcut olan paralellik derecesi göz önüne …

4
Birim testleri yazmanın bir dizi 'AssertEquals'tan daha iyi bir yolu var mı?
Qunit kullanarak birim testimin ne olması gerektiğine dair temel bir örnek: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <link rel="stylesheet" href="qunit/qunit-1.13.0.css"> <script src = "qunit/qunit-1.13.0.js"></script> <script src = "../js/fuzzQuery.js"></script> <script> test("Fuzz Query Basics", function() { equal(fuzzQuery("name:(John Smith)"), "name:(John~ Smith~)"); equal(fuzzQuery("name:Jon~0.1"), …

1
RESTful API'si ne kadar ayrık olmalıdır?
Daha önce hiç RESTful API inşa etmedim ve ne kadar ayrık olması gerektiğini merak ediyorum? Örneğin, adı, adresi, telefon numarası, e-posta adresi, dili vs. olan bir müşterim olduğunu varsayalım. Her bir alanı (güncelleme adresi, güncelleme e-posta adresi, vb.) Güncellemenin bir yolu var mı, yoksa tüm müşteri için tek bir güncelleme …
12 api  rest 

3
Bir üretim sistemi üzerinde yeniden kullanım ve regresyon testi maliyetini ilişkilendiren bir yazılım mühendisliği prensibi var mı?
Emeklilik ve Yatırımlara bakan bir banka için büyük bir finansal işlem sistemi üzerinde çalıştım. 15 yıllık özellik değişikliklerinden sonra, manuel regresyon testi maliyeti yayın başına 200 bin dolara yükselmişti. (10 milyon LOC, günde 10 milyon ABD doları işlem yapılır). Bu sistem aynı zamanda çok sayıda veriyi hareket ettiren şirketin çevresindeki …

1
Açık Kapalı Prensibi (OCP) - Bağımlılık Ters Çevirme İlkesi (DIP)
Açık Kapalı Prensip (OCP) ile Bağımlılık Tersinir Princible (DIP) arasındaki farkı anlamaya çalışıyordum . Şimdiye kadar internette yaptığım araştırmalara dayanarak, 'DIP'nin OCP'ye ulaşabileceğimiz bir seçenek olduğu' sonucuna vardım. Ben haklı mıyım? Bana DIP'yi takip etmeyen ama OCP'yi takip eden bir örnek verebilir misiniz?

2
Sağlamlık ve hata toleransı arasındaki fark nedir?
Sistemler / programlar / dağıtılmış algoritmalar / ... genellikle yüklem sağlam veya hataya dayanıklı olarak tanımlanır . Fark ne? Detaylar: + Dayanıklı + "hataya dayanıklı" için Google'ı kullandığımda, her ikisi de yararsız olan iki isabet alırım. Terimler için googlescholar olduğunda, başlıklarında her iki terimi de içeren birçok makale bulurum. Ne …

2
Birisi Haskell'in notunun arkasındaki kavramı açıklayabilir mi?
(soruyu buraya yazıyorum çünkü kodlama probleminden ziyade kavramsal mekaniği ile ilgili) Eşitliğinde bir dizi fibonacci numarası kullanan küçük bir program üzerinde çalışıyordum, ancak belirli bir sayıyı aşarsam acı verici bir şekilde yavaşladığını fark ettim, Haskell'de bir tekniğe rastladım Memoization, kodun şu şekilde çalıştığını gösterdiler: -- Traditional implementation of fibonacci, hangs …


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.