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…)