Most voted "software-engineering" questions
Software engineering is an area of computing focused on the specification, development and maintenance of software systems, with application of technologies and practices of project management and other disciplines, aiming organization, productivity and quality.
Learn more…264 questions
Sort by count of
-
127
votes4
answers42803
viewsWhat really is DDD and when does it apply?
When I first studied MVC in the book I talked a lot about DDD (Domain-Driven Design). From what I understood at the time, the idea of the DDD was simply to program software with a focus on…
-
90
votes2
answers4577
viewsDRY is to avoid redundancies, right?
The DRY means Don’t Repeat Yourself. So every time I see a repeat in the code I’m not doing DRY? Is DRY about not having redundancies? How it should be applied?…
terminology software-engineering encoding-style programming-principlesasked 8 years, 7 months ago Maniero 444,682 -
89
votes2
answers8108
viewsWhat are the differences between Dependency Injection and Control Inversion?
Sometimes it feels like we’re talking about the same thing (of course, it’s not) when these concepts are being used. What’s the real difference between them? When using one or the other?
pattern-design software-engineering dependency-injectionasked 10 years, 5 months ago Maniero 444,682 -
75
votes3
answers4535
viewsWhy shouldn’t we use Singleton?
You finds on the internet the claim that Singletons are bad. Is this true? Why? Would the problem be generalized to any objects with single instance? Or to anything that has been global? If it is so…
-
69
votes3
answers21607
viewsWhat are the concepts of cohesion and coupling?
What are the characteristics of a code with cohesion or coupling? To what extent can this generate future problems?
-
67
votes3
answers10868
viewsWhat is a racing condition?
What is this such of race condition that can cause problems in applications? How to avoid it?
-
64
votes4
answers26848
viewsWhat’s the difference between DAO and Repository?
What’s the difference between DAO and Repository? Both are very similar, but in which case it is better to use one or the other? I would like code examples.…
-
64
votes1
answer5474
viewsProgramming facing the interface and not the implementation, why?
What are the main reasons (in practice) that lead developers to apply the practice of developing for interface and not for implementation?
-
56
votes2
answers3301
viewsWhat is a paradigm?
What is a paradigm? Is there any more important than another? It’s the same thing Pattern design (design pattern)? It’s the same as language?
terminology encoding-style software-engineering paradigmsasked 8 years, 4 months ago Maniero 444,682 -
54
votes4
answers17728
viewsWhat is a scaffold?
I started studying ASP.NET MVC and came across the term scaffold, but I didn’t understand it very well, so: What is scaffold? What is its use within ASP.NET MVC?…
asp.net-mvc .net terminology software-engineering scaffoldasked 8 years, 8 months ago Marco Souza 12,304 -
54
votes5
answers7178
viewsWhat is the advantage of using recursive functions?
Recently discovered the famous (or not so famous) Recursive Functions and I found the concept very interesting. However, during my reading I had some doubts regarding the use of such. What is the…
php loop software-engineering recursion encoding-styleasked 8 years, 10 months ago João Paulo Vieira da Silva 1,933 -
51
votes8
answers2113
viewsIs using customer validation enough?
Using Javascript validations is sufficient for efficient validation? Example: Date validation. It is necessary to check also in the code? What are the disadvantages of only performing validations…
-
48
votes4
answers1512
viewsWhat is reverse engineering?
I always say I don’t get along very well with terms. These days I needed to do an operation on a given framework in PHP called Laravel, where I needed to find a resource that would allow me to use…
terminology software-engineering reverse-engineeringasked 8 years, 9 months ago Wallace Maxters 102,340 -
44
votes3
answers12262
viewsWhat is the difference between architecture and software engineering?
Architecture of software Engineering of software Apparently these two concepts are related, but what is the difference between them?
-
43
votes3
answers8167
viewsWhen to use recursion and when to use loops?
A problem can be solved and get the same result used a loop or through recursive calls to a function. Whereas the programming language being used has both features, how to know when one is better…
function loop software-engineering encoding-style recursionasked 10 years, 5 months ago Maniero 444,682 -
41
votes4
answers4635
viewsTo what extent is it not advisable to use an ORM?
I am working on a very large system using . NET (ASP.NET MVC) the application requires a critical level of performance. How worthwhile or not to use a ORM? Is there a tool that I can compare in…
sql entity-framework software-engineering nhibernate ormasked 10 years, 6 months ago Tuyoshi Vinicius 4,046 -
41
votes2
answers3902
viewsTests, TDD, Unit Test, QA and similar. What is the difference between concepts about tests?
In the question of the goal 5 different tags for "testing" I noticed that I have some difficulty understanding all these terms about tests. Certainly tests have been very important throughout the…
testing software-engineering unit-testing tdd functional-testingasked 10 years, 5 months ago Maniero 444,682 -
41
votes1
answer2950
viewsWhat is an indirect?
I read in some places about programming that something does or should do an indirect. What is this and what it’s for?
-
40
votes3
answers1255
viewsWhat is SRP and how is it used?
I know what SRP means Principle of Single Liability. Each class must be responsible for such a thing. What should I do to detect that I am violating the SRP? What I must take into account to apply…
pattern-design software-engineering programming-principlesasked 8 years, 11 months ago Wallace Maxters 102,340 -
38
votes4
answers2188
viewsTime spent developing tests
I’m afraid I’m worrying too much about testing, as I’m currently spending about 40% of my project’s time just creating them. I know that the more time I spend with tests, the less I will spend to…
-
36
votes4
answers4928
viewsHow to estimate development time?
I’m starting to try to use Kanban in practice. In this case, I work alone, so I’m trying to get this answer in a context in which there is no staff available, let alone more formal processes found…
software-engineeringasked 8 years, 5 months ago SomeDeveloper 18,074 -
36
votes2
answers727
views"OMG! A heisenbug!" - Explaining to a layman what a heisenbug is
A Heisenbug is a bug that changes its behavior while being studied [1]. It has its name derived due to the principle that Heisenberg detected that simple "passive observation"* of quantum processes…
-
35
votes3
answers1710
viewsWhat is the role of architecture standards in object orientation?
This question seems to have an obvious answer, but I confess that I still don’t get the idea myself. I am working with object orientation since 2011, mainly focused on web development. As soon as I…
-
33
votes3
answers1026
viewsWhat problems can a global state entail?
What problems can a program face with the use of global states? Where can it be acceptable? That is, how to know if I am abusing the resource? What alternatives exist to avoid this? I’ve already…
-
33
votes2
answers1168
viewsWhat defines a clean code?
I saw this term being employed several times, many people and companies want their codes to be "clean"... I also saw the book Clean Code Agile Software Practical Skills. But I wanted to know what…
-
33
votes5
answers5756
viewsWhat is Design Pattern?
I am starting my studies in Software Engineering, I have heard a lot about the term Design Patterns and its applicability and importance in software projects. Below is a definition: In software…
-
33
votes2
answers22203
viewsWhat’s the difference between failure, defect and error?
In software development often problems occur in the application already ready, some terms used to classify them are: glitch, defect and error. What is the difference between one term and the other?…
-
31
votes2
answers957
viewsHow to test software well?
Well, I was thinking how sites with great access users do tests on their software and test them for final release, why anything or error of code can lead to gross system failure is interruption at a…
-
30
votes3
answers8297
viewsWhat are the principles DRY, KISS and YAGNI?
These three principles (DRY, KISS and YAGNI) are widely cited in web. What are they? Who created them? How and where can they be applied?
-
30
votes1
answer1075
viewsPolymorphism in procedural language
One of the characteristics of object orientation is polymorphism, the ability of a method to perform different behaviors according to the context that can be defined by a hierarchy…
-
30
votes2
answers28407
viewsWhat is the difference between unit test and integrated test
What’s the difference between unit test and integrated test, their benefits and examples to each other.
testing software-engineering tdd language-independentasked 8 years, 9 months ago Al Unser Albuquerque 965 -
30
votes3
answers814
viewsHow and when to build an object in valid state?
Think of a large class, a complete customer registration for example. It has a huge amount of attributes in it. Many of them need to be initialized in the construction of the object in order for the…
-
28
votes2
answers7111
viewsWhat to do if client can be both PF and PJ?
I’m developing an object-oriented system. I need to keep a customer record. It turns out that these clients can be both natural and legal persons. If clients were just legal persons it would be…
-
28
votes1
answer3003
viewsHow does the Repository standard work?
I was doing a study on a framework in PHP called Symfony. When I was studying about the database research, I realized that there are some differences in relation to the searches, as in frameworks as…
database oop pattern-design software-engineering repositoryasked 8 years, 11 months ago Wallace Maxters 102,340 -
28
votes6
answers1694
viewsWhy not use a Boolean parameter?
I’ve seen in some places you shouldn’t wear something like this: int teste(object obj, bool especial) { ... } There within the function some operation will be done or not, depending on what you…
function encoding-style software-engineering parameters booleanasked 7 years, 7 months ago Maniero 444,682 -
28
votes1
answer1626
viewsWhat is Flyweight Pattern?
Researching a little to better understand the logic that leads strings in Java to be immutable, I found out that "internment" of Strings is an example of the pattern Flyweight. In accordance with…
pattern-design software-engineering memory-management immutability flyweightasked 8 years ago Anthony Accioly 20,516 -
27
votes4
answers5927
viewsWhy split layers? What are the benefits of a multi-layered architecture?
There are n types of architectures that use layer separation, an example: Model-view-controller (MVC). How creating multiple layers can help my application? What are the advantages of doing this?…
pattern-design software-architecture software-engineeringasked 10 years, 4 months ago Laerte 22,243 -
27
votes3
answers983
viewsWhat is a variable?
We always use variables all the time in codes. Is it the same thing we learn in mathematics? How does the variable work?
terminology variables pattern-design software-engineering computer-scienceasked 7 years, 9 months ago Maniero 444,682 -
27
votes2
answers13039
viewsWhat is CI/CD? Benefits and Risks
It’s very easy to find the answer to the concept on Google but wanted to understand how it works in practice. I know that the Amazon, for example, code migration for each production few seconds. Can…
-
27
votes3
answers1101
viewsWhat is the difference between architecture, engineering, science, analysis, design, programming and coding?
I know, you have the question What’s the difference between architecture and software engineering?. Ali already answers in part. Although I was not 100% satisfied with the answers, which are…
terminology software-engineering software-architecture computer-scienceasked 7 years, 6 months ago Maniero 444,682 -
26
votes4
answers1508
viewsWhat is the difference between continuous integration and continuous delivery?
They are two widely used terms, and often even as synonyms. But what is the difference between them (if any)? What are the most common tools used in both scenarios?
terminology software-engineering continuous-integrationasked 7 years, 9 months ago ldeoliveira 2,015 -
25
votes2
answers2094
viewsPrinciple of Liskov’s replacement
Liskov’s substitution principle says that if given types T and S being S subtype of T then S should be replaced by T. My understanding is that if I have an instance of S then I can use it in places…
-
24
votes2
answers17491
viewsWhat does software scalability mean?
I hear a lot if I talk about what software needs to have scalability in applications. Searching on the subject, I found the following definition: Meaning of Scalability: In software engineering,…
software-architecture software-engineering terminology scalabilityasked 9 years, 1 month ago Duds 6,726 -
23
votes2
answers418
viewsIs it bad practice to use empty interfaces?
I have heard comments that it would be a good idea, when a future implementation can take place. Also heard that it is a bad practice. I know that in PHP, for example, there is an interface called…
-
23
votes2
answers6460
viewsWhat is the difference between a programmer and a software engineer?
I am aware that the site already has the questions What’s the difference between architecture and software engineering? and What is the difference between architecture, engineering, science,…
terminology software-engineering software-architecture computer-scienceasked 7 years, 5 months ago Marcus Nunes 17,915 -
22
votes1
answer1448
viewsHow do you decide whether an application is in alpha, beta, RC or RTM?
Each Windows has alpha, beta, RC and RTM versions, and as you advance from left to right in these versions it gets more "ready". As for RC and RTM, I don’t know if this is used in other software,…
-
22
votes3
answers1335
viewsWhat is the advantage of dependency injection in relation to an object instance?
I’ve been reading and rereading What is addiction injection? but in the end I could not perceive an advantage of the injection of dependence in relation to an object instance. What is the advantage…
-
21
votes1
answer1449
viewsWhat are the SOLID principles?
Lately, I’ve heard a lot about the term but for me it’s never clear if it’s a Pattern design or good practice in object orientation. Maybe it’s a very broad question, but why SOLID is useful and…
oop software-engineering solid programming-principlesasked 7 years, 10 months ago ldeoliveira 2,015 -
21
votes1
answer631
viewsWhat is the difference between DI, Factories and locators?
Already I asked about addiction injection. It is widely used. In my opinion it is even abused. But I saw that in her place you can use Factories or locators. What would they be, what are the…
pattern-design software-engineering dependency-injectionasked 7 years, 7 months ago Maniero 444,682 -
20
votes3
answers7017
viewsWhat is an abstraction?
Web outside and also here in Stack, sometimes we talk about "abstraction" when the subject is architecture/engineering software and orientation to objects, mainly. What is this "abstraction"? Why is…