39,541 reputation
561135
bio website slott-softwarearchitect.blogs…
location Norfolk, VA
age 57
visits member for 3 years, 6 months
seen Jan 18 '13 at 17:19

Software Architect, aspiring writer. Programmer for well over 30 years, about 70% of my working life.

Blog: S.Lott-Software Architect.

Books: Building Skills.

Technorati: SLott.

LinkedIn: Profile.

Ohloh: s_lott.


Feb
14
comment Software testing for developer
"For example, there are cases when TDD is not applicable"? Really? Can you explain this? "I need to do simple smoke testing of my code every time it is deployed/changed"? Why not simply run all the tests? Why only run a "smoke test"? "check manually"? Why would you do that when you have automated unit testing? This question is quite difficult to understand. Can you explain what you want to know?
Feb
14
comment Best way to handle class relationship
"which is the best choice?" Define "best" in some measurable way. They all work. What are you trying to optimize? In tools like the Django web framework, your option 2 comes closest to the way it works. In that framework, best is defined by the framework. What are your criteria for "best"?
Feb
14
comment How can you effectively use web services in an enterprise environment if you can't use transactions?
@ryeguy: So you have a distributed two-phase commit among these separate databases? Is that correct? Why would implementing web services change this architecture?
Feb
14
comment New to TDD. Should I avoid private methods now?
Large, complex private methods are a code smell. An implementation which is so complex that it cannot be usefully decomposed into component parts (with public interfaces) is a problem in testability that reveals potential design and architectural problems. The 1% of cases where the private code is huge will usually benefit from rework to decompose and expose.
Feb
14
comment How can you effectively use web services in an enterprise environment if you can't use transactions?
@ryeguy: It seemed like a "yes/no" question. I'll try again, since it's not clear to me. Is it a queue (MQ-series, MS MQ, JMS, or other actual Queue)? Is it a database table that has queue-like semantics imposed by application programs? Also. If this is a database table, is this all in one database with a single (simple) transaction? Or is this in multiple databases with more complex two-phase commit among the databases? Please help us by being specific. Phrases like "I suppose you could say that" are non-committal and vague.
Feb
14
comment How can you effectively use web services in an enterprise environment if you can't use transactions?
Sometimes called "orchestration", also.
Feb
14
comment How can you effectively use web services in an enterprise environment if you can't use transactions?
"database-backed queue tables"? Not an actual queue at all? Just tables with queue-like use cases?
Feb
14
comment Using a column to store the company or a separate database?
Define "better". Using a separate database is "better" if -- by better -- you mean "uses as much DBA time as possible"
Feb
14
comment How can you effectively use web services in an enterprise environment if you can't use transactions?
@ryeguy: Please update the question. Please don't add comments to the question. This is an important part of your architecture. Please disclose it in the question.
Feb
14
comment How can you effectively use web services in an enterprise environment if you can't use transactions?
"If the libraries were all local, everything could just be wrapped in a transaction, and none of that would happen". False. The error could occur after the email was sent but before the final database update. A transaction doesn't retroactively prevent the email or the fax.
Feb
14
comment New to TDD. Should I avoid private methods now?
"private methods are untestable"? Which language? In some languages it's inconvenient. In other languages it's perfectly simple. Also, are you saying that the design principle of encapsulation must always be implemented with lots of private methods? That seems a bit extreme. Some languages don't have private methods, yet, still seem to have nicely encapsulated designs.
Feb
14
comment Should internal code be shared with non-developers in an organisation?
@Birfl: Generally Accepted Accounting Practices have the force of law. Capital budgets spent on software development create capital assets. How else can it work?
Feb
14
comment Should internal code be shared with non-developers in an organisation?
@JanHudec: "Should we open up our code for our non-development staff to be able to read?" sure sounds like developers making the decision. It calls out for clarification and explanation. It may be clear to you what's going on, but it's not clear to me why this question is asked in this way. Which is why I'm simply asking for clarification.
Feb
14
comment Should internal code be shared with non-developers in an organisation?
@JanHudec: "must be disclosed to management"; "the company has right to control which employees may and may not access it." Perfect. It's not up to developers to make these decisions. Hence my request for clarification. How can this question come up? Why are developers making this decision?
Feb
14
comment Getting attention for my open sourced project
There's nothing wrong with closing this question and adding requests and comments on the existing question.
Feb
14
comment Should internal code be shared with non-developers in an organisation?
Keeping code "secret" from the rest of the organization may be illegal. It's often a "capital asset" and as such doesn't belong to the developers in any sense of the word. Keeping it obscure, or controlled or hidden may not be feasible. As intellectual property, it's subject to copyright and trade secret protection and often must be disclosed internally. How can you suggest otherwise?
Feb
13
comment Ignoring unit tests - good and bad reasons when and why?
A non-working test is "kept for documentation"? That's not really very helpful at all. "Deleting a test means it's no longer available for use in any form, and it's suspicious; what are you trying to hide?". That's quite a paranoid suspicion. A bad test -- one that's wrong, doesn't fit the requirements, doesn't test something useful, doesn't match the current API, etc. -- must be deleted. There's nothing to hide in removing a test that's of no value.
Feb
13
comment Ignoring unit tests - good and bad reasons when and why?
"I was taught that you NEVER delete a unit test". Can you provide a quote, link or reference for this? It seems like the "never" is meant to stimulate thinking, not be taken literally.
Feb
13
comment Ignoring unit tests - good and bad reasons when and why?
@KeithS: This scenario does not fit any of the categories in your question. You might want to update your question to include this. This is a broken test. Either fix it or replace it with one that works. If the Mock package is broken, either fix it or replace it with one that works. I'm unclear on why you need to ask what to do when your unit test toolset is broken. If you need help getting your mocks to work, then StackOverflow is the place to ask specific questions.
Feb
13
comment How can I explain the difference between NULL and zero?
"How would I explain the difference"? In which language? Some languages throw (or raise) an exception. Some will return a NULL result. Some depend on the details of how NULL is implemented. You have to be much more specific.