Questions about problem solving and planning for a solution through software design.

learn more… | top users | synonyms (1)

20
votes
8answers
940 views

When do you rebuild an application or keep on fixing the existing one [duplicate]

Possible Duplicates: When is a BIG Rewrite the answer? Have you ever been involved in a BIG Rewrite? I am at a customer where I have been tasked to fix a number of issues they have in their ...
-1
votes
1answer
108 views

Should We Use Surrogate Primary Keys for Every Table? [duplicate]

We are developing a data model for a marketing database that will import transaction, customer, inventory, etc. files and the directive is ONE process that works for every client. We have been told ...
0
votes
2answers
385 views

Why are header files bad design? [duplicate]

this says header files are bad design, but I don't know why. The answers specified there are about the inefficiency of header file when building. Why it is bad design is not really touched upon. As ...
2
votes
1answer
124 views

Logging in a latency sensitive system

Requirements: My application is latency sensitive. Millisecond level responsiveness matters. Not all the time, but when it acts, it needs to be fast. My application needs to log information about ...
8
votes
11answers
747 views

Is a designer supposed to write CSS code? [closed]

I'm wondering if the CSS creation is supposed to be the job of the designer or the programmer. I'm not talking here about really complex CSS layout, I'm referring more to skinning. So is this ...
1
vote
1answer
88 views

What is the idiomatic way to persist the data in this simple data-based application?

I'm looking at developing a simple application in Java for a game which allows a user to keep track of which items they own and how much experience they have obtained while using the item. All of this ...
3
votes
2answers
1k views

Is context inheritance, as shown by Head First Design Patterns' Duck example, irrelevant to strategy pattern?

In Head First Design Patterns it teaches the strategy pattern by using a Duck example where different subclasses of Duck can be assigned a particular behavior at runtime. From my understanding the ...
0
votes
0answers
43 views

What should I do with too much interfaces needed for a dialog

Let me start by doing a small summary of the changes we did in our code in the last year. We have a software (VERY big) that is used to visualize multiples underground networks, enter data in the ...
1
vote
1answer
101 views

Next steps for developing new product [duplicate]

I was hired about a year ago as the lead (well, really the only) developer on a new project/product we will call product "B". Product B was designed to pursue a new market for the company. This ...
1
vote
3answers
143 views

Should one create underlying architecture to increase flexibility - in advance or when needed? [closed]

In this question I asked: Is the cost of designing more levels of abstraction to allow loose coupling worth the benefits, or not? People said that it's often worth the cost, but one should sense ...
0
votes
1answer
175 views

Should a 'Calculator' support '{' (curly braces) and '[' (box braces) [closed]

I am currently developing a Simplifier for a Calculator. This allows the users to put sections of the input within brackets just like we do in a maths problem. But my question is should I (or it) ...
1
vote
1answer
140 views

Processing csv files (alternative to business logic in DB)

We are working on a fulfillment system for an online book store. Everyday we receive tens of CSV files (about 90 files) with data about purchased orders. Example: OrderId | BookTitle | ...
0
votes
2answers
191 views

Data structures VS Classes and what happens if they merge? [closed]

Alright so I've learned this: Classes have public methods that perform operations on the class's data and they hide away their implementations. Data structures on the other hand, completely expose ...
34
votes
14answers
11k views

Isn't MVC anti OOP?

The main idea behind OOP is to unify data and behavior in a single entity - the object. In procedural programming there is data and separately algorithms modifying the data. In the ...
1
vote
1answer
207 views

Separate namespace just for exceptions?

I was doing a code review and came across something odd which I've never seen before. The developer decided to create a sub-namespace just to contain all the assembly's exceptions. I thought I had ...
0
votes
1answer
114 views

NoSQL design - Storing project assignments

I currently have a planning tool using SQL tables that are sort of setup like this: Date table (Contains dates & indicates if that day is a weekend / holiday etc) Employee (Simple data) Project ...
3
votes
2answers
173 views

What is a scalable and practical way to search existence of a group of strings in a huge file

Context: I built an app which generates around 1000 domain names based on user input. I need to check if they are available or not by matching against a huge zone file of parsed domain names which is ...
3
votes
4answers
3k views

How should I design a PHP class autoloader?

I have a fairly simple folder structure where the main classes are in a folder, and any classes used by those classes are in a subfolder with the same name as that class. /exampleClass.php ...
3
votes
2answers
167 views

Is it right to persist a computed property to the DB?

I would like to know what do you think about persisting an "autocomputed property" to the database. For example I have these properties decimal Price {get;set;} decimal Tax {get;set;} decimal ...
0
votes
2answers
194 views

How can you design a application when you have not imagined completely how the app look like? [closed]

Here is the problem, an enthusiastic man wants to build an app, however he only knows roughly how the app should work. There are a lot of details he didn't know. How does he design his app? ...
36
votes
7answers
2k views

Can a system be 100% Data Driven?

My new boss has been working on this project for many years. I've only been here a few weeks, but I am not sure it's possible. He would like to design a system that is "100% data driven". So if we ...
2
votes
2answers
200 views

I'm struggling with abstracting my animation code in my game using a functional style. How can I do this?

My game is a top down 2D shmup programmed in a functional style. I'm struggling with abstracting the code that is responsible for animating the projectiles. There are many types of guns with many ...
1
vote
3answers
225 views

Does designing a method that changes the argument's (if was object) values a good practice?

The premise is using a language (e.g. C#, javascript) which passes an object by reference into a method. Assume there is an object "Player" which has a property "Level" and there is a method takes ...
2
votes
1answer
309 views

When not to move a “C style” code to “C++ or Object Oriented” code?

Context I am (part of team A) developing a piece of functionality which depends on new APIs provided by team B. Old APIs (also provided by Team B) are there and this is how they are being used in our ...
2
votes
4answers
305 views

Understanding “programming to an interface”

I have come across the term "programming to an interface instead of an implementation" a lot, and I think I kind of understand what it means. But I want to make sure I understand it's benefits and ...
10
votes
8answers
5k views

Feature vs. Function

Often I hear PMs (Project Managers) talk about feature and function. And I'm just so puzzled to differentiate them. Sometimes I think of a feature to be equivalent to a user story. Something like "As ...
21
votes
5answers
4k views

Is is preferable to design top down or bottom up?

As I understand, top-down design is by refining the abstract high level concept into smaller concrete and comprehensible parts, until the smallest building block is defined. On the other hand, bottom ...
13
votes
7answers
473 views

How does one decide if a data object type should be designed to be immutable?

I love the immutable "pattern" because of its strengths, and in the past I have found it beneficial to design systems with immutable data types (some, most or even all). Often when I do so, I find ...
2
votes
2answers
112 views

How to check robustness in a service that includes multiple points of failure in workflow, including FTP

As part of my workflow, I need to do all these steps in one transaction - I need to ftp files to 2 different FTP servers. - There is also a spreadsheet that gets generated which needs to be FTP'ed. ...
0
votes
0answers
21 views

Composite repository with plugins for multitenant app

Im working on an app that has flexible storage configuration. For example: public class Repo1:IRepository { public void DoSomething(int tenantId, string someKey) { ... } } This ...
38
votes
7answers
3k views

How do I stop designing and start architecting this project as suggested by my lead? [closed]

I'm a junior developer (~3 years' exp.) and at my job we're in the process of architecting a new system. My lead developer will be the principal architect, however he's challenged me to try ...
0
votes
3answers
146 views

How to design to allow for future logic revision? [closed]

The typical programming designing method that I've come to use goes like this: 1. ID the problem and what's required 2. Make your program do something simple 3. Test it 4. Make your program do a ...
3
votes
2answers
167 views

messaging class and global state

This is a front end project that is using socket.io for all communication with the server. This allows for push which is good, but recently we have been asked to provide a pause button. The pause ...
1
vote
5answers
474 views

Lots of classes with only one single static method with same name as class - Code smell? [duplicate]

I'm trying to follow the single responsibility principle (SRP) in my applications. I have lots of CRUD classes I just name xxxxxManager. Following the SRP, I made 4 classes for each one : ...
2
votes
5answers
528 views

Why sequential cohesion for operations in a method is not a good idea?

I read from the seminal Code Complete book that method statements that require to be executed in order passing parameter from one to the next is a code smell and is an example of a sequential ...
0
votes
1answer
93 views

Documentation required for commissioned software (product) [closed]

The company I work for has commissioned a software company to produce a compliance software for several big companies. As part of our contract it is required of them to provide us with src code and ...
5
votes
7answers
288 views

What should be the “depth of design”? [closed]

We all know that the process of creating a design and the whole architecture of the software is very important before writing the code. But how deep should be dive into the design stuff - should we ...
3
votes
2answers
171 views

In which step of a software development life cycle I should design my computing algorithm?

In software design, we usually take care of UML diagrams and architecture design. But in case of a data analysis software, we must pay attention to design algorithms and stuff like that. Consider the ...
7
votes
8answers
353 views

Should we write detailed architecture design or just an outline when designing a program?

When I'm doing design for a task, I keep fighting this nagging feeling that aside from being a general outline it's going to be more or less ignored in the end. I'll give you an example: I was ...
11
votes
8answers
799 views

What do you do if you reach a design dead-end in evolutionary methods like Agile or XP?

As I was reading Martin Fowler's famous blog post Is Design Dead?, one of the striking impressions I got is that given the fact that in Agile Methodology and Extreme Programming, the design as well as ...
14
votes
6answers
762 views

How to get good design when using agile methods?

I have been using an agile methodology (SCRUM) for about three years now and I see certain advantages to it, especially in the short-term feedback at many levels (from customers having early access to ...
17
votes
8answers
8k views

How do you deal with design in Scrum?

How do you deal with design in Scrum? Do you still have well written design documents for each scrum iteration? Do you just do design notes featuring UML diagrams? Or do you just have well commented ...
6
votes
3answers
397 views

Are “Stocks” a TDD/Unit testing anti pattern?

From Martin Fowler's Mocks Aren't Stubs he states that Stubs provide canned answers to calls made during the test while Mocks objects pre-programmed with expectations which form a specification of the ...
4
votes
1answer
212 views

Which relationship is more natural?

Have a quick question on how to best structure something for my Java project: I'm a user. I can work at one or more places. At those workplaces, I have one or more roles. For each of these roles, I ...
0
votes
1answer
268 views

In Android can we let a fragment know other fragments?

I think I have found contradictory design guidance within the Google Android documentation on fragmentation. The first statement below advises each fragment be unaware of other fragments and always ...
3
votes
1answer
370 views

Why doesn't VB.NET allow unnamed, one-line objects to be used?

Why isn't this allowed in VB.NET: New SqlCommand("some string", someSqlConnection).ExecuteNonQuery() Why would the language have been designed to require that this be used instead: Dim com As New ...
1
vote
1answer
177 views

Create an Objective-C category to route methods depending on a specified type

For one project, I needed to find a solution to avoid code like this: if ([self.desiredColor isEqualToString:@"Red"]) [self constructRedMenu]; else if ([self.desiredColor ...
1
vote
3answers
241 views

Why does Rails do config in code?

According to the Pragmatic Programmers, code should be for abstractions, while configuration and details should live in metadata. Rails seems to diverge dramatically from this pattern. Much config is ...
0
votes
0answers
71 views

Difference between class clusters and abstract factory in cocoa

I have read that Obj-C class clusters are an implementation of the abstract factory. Can anyone explain if there are any differences between the 2 as design patterns. I read somewhere that there are ...
2
votes
1answer
122 views

UI design for changing multiple records at once

I have a desktop application where the user has tabular views on some data records. Now we got the requirement to let the user select multiple of these records at the same time and let the him edit ...