Once upon a time there was an object.
He was very lonely, because noone used him.
His name was DB_DataObject.
He was a parent of DO_Client, and DO_Address.
His first adventure looked more or less like that:
Read the rest of this entry »
Once upon a time there was an object.
He was very lonely, because noone used him.
His name was DB_DataObject.
He was a parent of DO_Client, and DO_Address.
His first adventure looked more or less like that:
Read the rest of this entry »
Obviously every project, technology and company are different, but there are some common practices which, when properly implemented, may cause everyone in the team to be less stressed out by the whole concept of “collaboration”.
The basic idea is – don’t interfere with other’s work if you don’t intend to.
If you ever had experienced a hell of working on a shared network drive and overwriting other people’s changes, then I think you might appreciate this post.
What I usually do (or: try to to within available resources and within constraints) is:
This is all good and nice, but how to actually implement the process?
It obviously depends on your environment, as far as I’m concerned in the PHP environment it isn’t very hard.
What comes with help for you is:
As I say, this is just an infrastructure, now you need a good process in place for task management and responsibility management – but that’s a material for another post.
As for the project management – I’ve got one, in my opinion most important advice – dont’ use the paper. It becomes obsolete 10 seconds before you print it out.
Mhm Hello World indeed.
To kick off the blog I’d like to share a bit about my experiences with Microsoft SourceSafe 2005.
To make a long post short: Dont’.
While this is nice that SourceSafe finally enables users to do many new and cool things (like the automerge function, which allows multiple users to work on the same file at the time), the overall application interface really misses the point.
As a ToirtoiseSVN user what I really miss is the confidence I have in the engine. SourceSafe, especially when integrated with Visual Studio sometimes asks you a weird question, (e.g. “The file in the repository is newer than your local copy, do you want to update your copy?”) and gives a choice of either: Replace, Leave or Merge. Which would be fair enough, but you don’t have an idea what actually happened in the repository while you were working on the file, and there’s no way of previewing the result of your action – what you can do is to figure out the “safest” button and pray that SS won’t erase you or your coding partner’s work.
The biggest shame about SourceSafe is – it has the infrastructure in place, but the workflow is either inefficient (while locking files before other users) or unsafe – and the dialogboxes are misleading :-/
What is good about it – it now supports integration with external commands, e.g. running some scripts after each CheckIn.
The shame is noone seems to know how to use it or where to find these options, let alone, to be actually interested in how to use it to make work more efficient.
What I learned while developing PHP code on Open Source environment – that a full control of the process is King in software development. That’s why I’d like to see Microsoft’s Tools actually empowering users, not making some “magic in the background” for them.
Maybe you’ve noticed the word “users” highlighted in last paragraph – that’s how I feel while working in Visual Studio – not much of a Developer, just a “System User”, working in an environment, which knows better and helps me with almost everything so I won’t have to think too much.
While all these small aids and shortcuts are crucial when working with such a complex framework – some of them are actually leading to a poor code practices.
Consider the “drag and drop” of a table from Sql Server onto your Web Form.
What Visual Studio will create for you is a full stack of classes you need to access that particular database on that particular page – but it hardcodes the database connection string, and uses a non-optimised number of adapters, connections and supporting classes, and if you won’t refactor that “page” in the future your whole application will turn in a big ugly mess.
Sometimes I’m not sure if the direction of Visual Studio is actually the “proper one” in terms of developers’ coding practices – I’d like to know your views on that subject.