Questions tagged [software-craftsmanship]

Software craftsmanship is an approach to software development that emphasizes the coding skills of the software developers themselves. It is a response by software developers to the perceived ills of the mainstream software industry, including the prioritization of financial concerns over developer accountability. The Software Craftsmanship Manifesto extends and challenges further the assumptions of the Agile Manifesto.

The Software Craftsmanship Manifesto: http://manifesto.softwarecraftsmanship.org The Agile Manifesto: http://agilemanifesto.org

16 questions
83
votes
14 answers

What should take precedence: YAGNI or Good Design?

At which point should YAGNI take precedence against good coding practices and vice versa? I'm working on a project at work and want to slowly introduce good code standards to my co-workers (currently there are none and everything is just kind of…
Wayne Molina
  • 15,644
  • 10
  • 56
  • 87
21
votes
4 answers

What should you bring to the table as a Software Architect?

There have been many questions with good answers about the role of a Software Architect (SA) on StackOverflow and Programmers SE. I am trying to ask a slightly more focused question than those. The very definition of a SA is broad so for the sake of…
Ahmad Mageed
  • 644
  • 4
  • 12
18
votes
9 answers

What is the path to JavaScript mastery?

I know how we start with JavaScript, we cut-and-paste a snippit to gain a little client-side functionality or validation. But if you follow this path in trying to implement rich interactive behavior, it doesn't take long before you realize that you…
Eric Wilson
  • 12,071
  • 9
  • 50
  • 77
13
votes
5 answers

Getting ALL developers do code reviews

I'm a software developer in a 7-8 developers team. We've been doing code reviews for quite some time now and code quality has improved over time. However I recently noticed that some developers are being asked for more code reviews than the others.…
10
votes
2 answers

Avoid getters and setters, displaying user informations

Background I m reading the "Clean Code book", and, in paralel, I m working on calisthenic objects Kata like the banker account, and I m stuck on that rule : The 9th rule of calisthenic objects is that we don't use getter or setters. It seems pretty…
mfrachet
  • 1,481
  • 3
  • 15
  • 21
7
votes
2 answers

How meaningful is the concept of "software craftsmanship"?

There seems to be a lot of buzz around software craftsmanship lately. Is it a well-defined concept? What does imply? To what extent is programming effectively a craft activity?
deprecated
  • 3,297
  • 3
  • 20
  • 26
5
votes
2 answers

Specification pattern and open closed principle

I'm studying the SOLID principles and I'm having some troubles dealing with the Specification Pattern and the open/closed principle. The fact is that the Specification pattern introduced by Eric Evans and Martin Fowlers creates some abstraction and…
5
votes
2 answers

Liskov principle with different constructor parameters

My first question is, is the Liskov principle applied even on constructor declaration? I mean there, am I forced to have exactly the same number / types of parameter in my constructor for each (different) class? Looking at this: package…
5
votes
3 answers

Best practices / Design patterns for code generation

I'm working on a ground up code generator project, but I feel I might be reinventing the wheel. Does anyone know where I can find some best practices guidelines or design patterns for code generation?
4
votes
1 answer

What recent studies point to the possible improvement a programmer can make as a result of personal character traits?

In Chapter 33, Personal Character of Code Complete (Second ed.) McConnell cites some studies such as those listed below in support of the assertion that 10-1 improvement is possible from efforts in improving our programming as a result of personal…
3
votes
2 answers

Parser and interpreter knowledge as a way to gauge programmer ability

This is only anecdotal evidence but from my past encounters with programmers at various workplaces the programmers that understand the fundamentals of parsing and interpreting seem to be overall better programmers. They also tend to be less…
2
votes
1 answer

Open/Closed principle, good practices, and business rules

I'm discovering craftsmanship and trying to learn it, and I decided first to understand how to work with the SOLID principles. I'm actually facing some troubles while dealing with the Open/Closed principle. How I'm working In fact, I'm usually…
2
votes
2 answers

emacs - project explorer and auto complete features - is it available?

I know that Emacs is a very powerful editor out there. I try to use it occasionally and want to learn it better. But to learn it better i have to use it more frequently than I am using now. But one big obstacle is that I could not find the basic…
LostMohican
  • 715
  • 1
  • 6
  • 10
1
vote
1 answer

Form validation or model based verification on client side

I'm actually wondering what are the pros and cons of these two ways to handle client side validations / verifications. Let's imagine an application where there is a contact form that needs these information: An email address (with a specific…
mfrachet
  • 1,481
  • 3
  • 15
  • 21
0
votes
2 answers

What options does a disciplined developer have when joining a team of undisciplined developers as a regular member, not a lead?

What options does a disciplined developer have when joining a team of undisciplined developers? Based on an environment of bad developers and a lack of software development infrastructure to guide quality software development, what are the odds that…
1
2