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

learn more… | top users | synonyms (1)

6
votes
4answers
1k views

How much time do you spend on design before coding? [duplicate]

In my experience, it is useful to spend a little while sketching plans for a project before getting into code. Such planning usually includes choosing frameworks/tools, writing requirements and ...
5
votes
2answers
2k views

How to learn UML for a design usage?

10 years ago at college I had some UML lectures. From these I remember and use only some basic part of class and sequence diagrams and how our teacher was trying to convince us that in the future, ...
11
votes
4answers
950 views

Does “notification center” pattern encourage good or bad program design?

Sometimes I come across these message-hub-style APIs, for example the Cocoa NSNotificationCenter: ...
3
votes
4answers
509 views

Which one of the SOLID principles had the largest effect on your code? [closed]

Which if the SOLID principles introduced by "Uncle Bob" Martin had the largest effect on your day to day coding? Please give details!
3
votes
2answers
1k views

What is the role of an Information Architect?

I've heard this term bandied about, especially in reference to web development, but I'm having trouble getting a clear understanding of what an Information Architect actually does. Any ideas what ...
22
votes
14answers
5k views

Is it possible to be good at both programming and graphic design? [closed]

The stereotypical view of a programmer can't do graphics very well, from what I've read and seen. However, I love programming (preferably OOP, PHP, C++, Objective-C) and can't deny the fact I have a ...
4
votes
6answers
845 views

UI design and confirmation paradigm

I just saw this lecture by Spolsky, where he questions the need for choices and confirmation dialogs. At some point he has a MacOS settings window and he mentions that "now some are getting rid of the ...
5
votes
5answers
437 views

Training old timey fortran programmers to better code design. hints? [closed]

I need to quickly train Fortran 90 developers into object oriented design, good coding, and general coding practices to make code maintenance easier and accessible to everybody. Their current style is ...
4
votes
3answers
27k views

What is detailed design? what are the advantage disadvantages using it?

Im really not getting the idea: What is Detailed Design. Why use Detailed Design. Advantages/Disadvantage of using Detailed Design. Any alternative methods other than using Detailed Design. Could ...
2
votes
3answers
163 views

What arguments exist against ever using the keyword substitution feature in many version control systems?

Are there any arguments out there against using the keyword substitution (i.e. replacing $Revision$ with $Revision: 5$) feature in many version control systems? Are there any overall bad practices ...
5
votes
1answer
238 views

What are good Information System design resources?

After taking a class about information systems, I want to find additional resources for learning the various patterns, concepts, and examples of their implementation. The course did focus on Martin ...
-1
votes
4answers
232 views

how do you seperate from designing question to programming questions?

As i try to program a solution to a request arise. I can't separate the difference between implementation problems and design problems. How do you specifically express the design problem?
11
votes
6answers
331 views

How do I get a feeling for visual design as a programmer? [closed]

Over the last years of web programming, I've noticed how bad I am at designing things. I have substantial knowledge of HTML and CSS, I can make a website look like I want it to, I have some pretty ...
17
votes
18answers
756 views

What do you optimize for? [closed]

Generally speaking, what type of optimizations do you typically slant yourself towards when designing software? Are you the type that prefers to optimize your design for Development time (i.e., ...
8
votes
6answers
403 views

What core principles would you want in a library?

Theres talk about what syntax and feature you like in a programming language; i'll now ask what core principles or feature would you like in a library in your favorite (or any) language? An example ...
37
votes
10answers
3k views

Clarify the Single Responsibility Principle

The Single Responsibility Principle states that a class should do one and only one thing. Some cases are pretty clear cut. Others, though, are difficult because what looks like "one thing" when ...
6
votes
9answers
992 views

What is the difference between “good” designers and “great” designers?

While reading this wikipedia article, Brookes has told that there is a difference between "good" designers and "great" designers. What is the difference between them? How can I decide if a designer ...
14
votes
10answers
338 views

How effectively “sell” a good design in large meetings

Many times I have witnessed a sad tragedy. Here's what happens: A team design review for a new project. I see a simple design that has quite a few holes. I casually mention the holes and ways to ...
4
votes
1answer
642 views

Are XAML UI designers common today?

I am thinking about creating a silverlight application, and I lack the skills to create a good looking UI. Today's graphic designers usually know HTML and CSS and thus save me the trouble of doing ...
3
votes
1answer
802 views

Choosing colors for application [closed]

What is the best way to choose colors for LoB app, i need to style TreeView, dropdown's, textboxes and a pivot grid, so i need a bunch of colors, tried Kuler but it gives only 6 colors. So the ...
6
votes
2answers
357 views

How much design happens in your implementation phase?

For those of you who work in big-design-up-front/waterfall groups: how much critical thinking and design is skipped in your design phase and left to your implementation phase? How complete and ...
16
votes
18answers
1k views

What do you look at first: the code or the design?

If you've just been introduced to a new project, what's the first thing you look for to get an idea of how it works? Do you look for the design first? If there is a design, what do you look for in ...
0
votes
1answer
263 views

What design pattern is best suitable with this context?

I have a base class Shape, and drived classes Line Segment, Arc, B-spline,... I want to find the intersection point between these shapes. I would like: Shape* a = new LineSegment(); Shape* b = new ...
12
votes
4answers
445 views

Code duplication with no obvious abstraction

Have you ever encountered a case of code duplication where, upon looking at the lines of code, you couldn't fit a thematic abstraction to it that faithfully describes its role in the logic? And what ...
46
votes
19answers
8k views

Servicing background tasks on a large site

We're dealing with an interesting problem on StackOverflow. We've got a whole bunch of little "needs to be done soon-ish" tasks. An example is updating "Related Questions" lists. What we've done in ...
7
votes
1answer
279 views

String class based on graphemes?

I'm wondering why we don't have some string classes that represent a string of Unicode grapheme clusters instead of code points or characters. It seems to me that in most applications it would be ...
8
votes
3answers
179 views

System Decoupled in the Wrong Places: Meta-Problem?

At a meta level, I often find that when I grow a codebase organically, parts of the system that I eventually find need to know about each other (at least through some interface) have been mercilessly ...
22
votes
16answers
10k views

Should one use pseudocode before actual coding?

Pseudocode helps us understand tasks in a language-agnostic manner. Is it best practice or suggested approach to have pseudocode creation as part of the development lifecycle? For instance: Identify ...
38
votes
9answers
6k views

Code Smell: Inheritance Abuse [duplicate]

It's been generally accepted in the OO community that one should "favor composition over inheritance". On the other hand, inheritance does provide both polymorphism and a straightforward, terse way of ...
29
votes
9answers
2k views

Be liberal in what you accept… or not?

[Disclaimer: this question is subjective, but I would prefer getting answers backed by facts and/or reflexions] I think everyone knows about the Robustness Principle, usually summed up by Postel's ...
2
votes
2answers
163 views

Is there a valid reason to wrap built in type with your own

I am editing some c++ and all of the built in types have been wrapped in a corresponding wrapper class. All of the operators have been overloaded to do bizarre things like operator[] coded to ignore ...
12
votes
7answers
671 views

Should universities put more emphasis on teaching their students about design patterns? [closed]

While I've heard about design patterns being mentioned in a few courses at uni, I know of only a single course which actually teaches design patterns. In almost all other areas (algorithms, ...
1
vote
7answers
558 views

Would you use UML if it kept stakeholders from requesting changes frequently? [closed]

As much as programmers hate to document their code/system and draw UML (especially, Sequencing, Activity and State machine diagrams) or other diagramming notation, would you agree to do it if it kept ...
25
votes
12answers
2k views

How large is ok for a Class?

I’m a long time developer (I’m 49) but rather new to object oriented development. I’ve been reading about OO since Bertrand Meyer’s Eiffel, but have done really little OO programming. The point is ...
1
vote
2answers
347 views

hiring a web designer: design task

I need to hire a web designer. How do I test his creativity and skills before I hire him. Ideally I'd like to give him a fairly open-ended task i.e. I give him a problem statement and ask him to ...
22
votes
10answers
2k views

What is the proper way to create requirements documents?

Right now my supervisor is creating requirements documentation / specs for me using bugtracking software. This seems like a terrible idea to me, all the requirements are on these little tickets and I ...
28
votes
11answers
2k views

Are design patterns generally a force for good or bad? [closed]

I've heard it argued that design patterns are the best thing since sliced bread. I've also heard it argued that design patterns tend to exacerbate "Second System Syndrome," that they are massively ...
17
votes
5answers
824 views

Is loose coupling w/o use cases an anti-pattern?

Loose coupling is, to some developers, the holy grail of well-engineered software. It's certainly a good thing when it makes code more flexible in the face of changes that are likely to occur in the ...
5
votes
3answers
785 views

How much time do you devote to the design document(s) for your software?

Obviously the size of the project you're working on will be a huge factor in how long you spend writing the design document/specification. But do you go through everything, picking out every tiny ...
6
votes
4answers
1k views

What is a good way to brainstorm algorithms on a computer? [closed]

I'm looking for something that allows me to work out an algorithm on a computer similar to how I would do it on a whiteboard. At work, I have a huge whiteboard that I can use for this, but at home, I ...
5
votes
3answers
453 views

Should a developer adhere to the class diagrams produced during system design?

The class diagram is modeled on the system requirements, and it is important to create solutions based on those requirements. If I have said class diagram should I strictly adhere to it? What about ...
18
votes
9answers
1k views

How to recruit programmers for an open source project and kick-start it? [closed]

I would like to start an open source project, and would like to do a collaborative effort in starting it. I have a clear idea of what I want, but not yet a formal specification (I would like to do ...
3
votes
4answers
292 views

How do you think about and architect programs? [closed]

I'm a QA guy and designer and i'm coming to development. How do most developers architect programs? With design I build up with a vague idea of what I have in mind and adapt my design to keep in ...
14
votes
7answers
283 views

What optimizations are premature? [duplicate]

I've been here for nearly a month and it seems that people have a tendency to be eager to use the "Premature Optimization is the root of all evil" argument as soon as someone mentions efficiency. ...
20
votes
13answers
1k views

Design for future changes or solve the problem at hand

While writing the code or during design do you try to generalize the problem at the first instance itself or try to solve that very specific problem. I am asking this because, trying to generalize the ...
93
votes
16answers
19k views

Is premature optimization really the root of all evil?

A colleague of mine today committed a class called ThreadLocalFormat, which basically moved instances of Java Format classes into a thread local, since they are not thread safe and "relatively ...
49
votes
4answers
14k views

What is inversion of control, and when should I use it?

I am designing a new system and I want to know what inversion of control (IOC) is, and more importantly, when to use it. Does it have to be implemented with interfaces or can be done with classes?