927 reputation
55
bio website jeffgrigg.wordpress.com
location Chicago, IL
age 52
visits member for 3 years, 7 months
seen Oct 20 '13 at 6:27

Feb
6
awarded  Yearling
Feb
12
awarded  Guru
Feb
6
awarded  Yearling
Jan
10
comment How To Explain Need to Refactor Code to Non-Developer Boss
I never ask for permission. I just do it. It's part of the job. When they ask, "Why did you change this?" I tell them that it was part of the changes needed to implement feature/bug fix #X, as the checkin comment shows. Over time, the reduction in bugs and improved maintainability of the code becomes obvious.
Jan
6
comment Unwritten rules of rewriting another team member's code
In my experience on XP teams with collective code ownership (and pair programming) is that major changes to the design or "rewrites" of portions of the system usually involve discussion with most of the team (everyone who cares). With critical core functionality, the existing design is the best the team could do at the time. If it can't easily be changed, it's helpful to get everyone's ideas on what they think it should do, and various ways that it could be improved. If you can't get consensus, try some "spikes" or experiments to gather information.
Jan
6
awarded  Commentator
Jan
6
comment Unwritten rules of rewriting another team member's code
If you actually are practicing collective code ownership, then you have a right to change, rewrite or delete any code whenever you consider it appropriate. This is particularly true if you're doing pair programming. Now, having said that, before a major change (like a rewrite) of code that some particular person has written, it would be wise to talk about it with them. In most cases I've seen (including with my own code), their response has been, "Oh yea; sorry! That code is a disaster; I just didn't do it right. Here are some ideas on how to improve it. Please go run with it!"
Dec
20
comment Refactoring several huge C++ classes / methods. How to start?
Answer: Start small. Real small. Add comments. Rename variables. Move variable declarations as close as possible to their usage. Reduce the scope of variables and functions, if you can. Extract simple small blocks of code into functions. Start grouping related data together to form classes. Putting related data and functions together in classes will significantly reduce the number of parameters you need to pass. And... Never give up. Always make steps to improve things, even when the steps are small!
Feb
6
awarded  Yearling
Nov
1
comment What is the job title hierarchy amongst software engineers?
Job titles have the most impact on billing rates, and promotion/reviews. Even when "standardized," actual responsibilities vary substantially by company and by team within company, due to corporate cultural issues.
Oct
31
comment Lean/Kanban *Inside* Software (i.e. WIP-Limits, Reducing Queues and Pull as Programming Techniques)
On the manufacturing line, if a person has to wait a non-trivial amount of time to get inputs they need, or to get the card for what they produce, they may go over to the blocking workstation and help with that work. / With threads, when a thread blocks on (reading or writing) a queue, it releases the CPU core to go work on other threads. / If you think of CPU cores as "people", then you'll see that what's happening is an extreme form of "going to help where it's most needed."
Oct
29
comment Is “truthiness” a legitimate programming term?
en.wikipedia.org/wiki/Truthiness Make of it what you wish. ;->
Oct
20
answered Why were short, int, and long invented in C?
Oct
13
answered Type-clarifying comments and type checking in dynamic languages
Oct
12
comment Which popular object-oriented languages support readonly methods?
(But/and methods can "cast away constness" and modify the state anyway. It's evil, but you can do it. ;-)
Oct
12
comment I can't remember programming 5 mins after learning?
Seek to understand, not to just memorize the answers.
Oct
8
awarded  Good Answer
Oct
7
awarded  Nice Answer
Oct
7
answered Why does Garbage Collection only sweep the heap?
Sep
20
awarded  Nice Answer