Categories
Advanced default parameters
09th March 2009
Today I was quite amazed by one of Ruby features. It is about default values of method parameters. For example you can do something like this:
def get_current_actions(project_id, status_id = params[:status_id] || DEFAULT_STATUS_ID)
# implementation goes here
end
The code is saying basically this: “if status_id is not passed explicitly, try to take its value from params array. If it doesn’t contain specified key, then fall back to a constant”. This feature (as almost all the rest of Ruby magic) made avaiable by Ruby’s nature: it is interpreted language. This type of code is totally unusual to guys like me, who come from the world of static typing and compiled languages. But I think I’m gonna get used to it
Iterations are good
04th March 2009
Iterations in software development. Tried to implement proper solution on the first try? I bet you failed. It’s like in Google Earth zooming in your house from the planet view. To achieve your goal, you’ve got to advance a little bit, adjust your position, advance further… Iterate until done.
Making more mockups
03rd March 2009
Today Elen, my manager, approached me and asked to make a prototype of a new functionality in our project management system. This is a reimbursement management module: employees spend some money (taxi from airport, for example), then they create requests for reimbursements and if they are lucky and management approves the requests, they get the money back
So, prototype it is. (more…)