[Biojava-dev] Biojava3-Core

Richard Holland holland at eaglegenomics.com
Wed May 12 13:53:42 UTC 2010


it's cold out here! (says me, the last remaining eclipse user...)

On 12 May 2010, at 14:42, Andy Yates wrote:

> Can't think of a NZ ref you may be thinking of ;)
> 
> So in the spirit of this I have been trying to move towards a more professional approach to BioJava development but this is counteracted by the time I can devote to it producing work closer to the first pattern of work that Richard mentioned. Quick & easy standards where IDEs can help are at least a step towards helping me out and meaning I get to spend more time worrying about the code, tests & docs.
> 
> Going back to the second point of the thread if Scooter can share your Netbeans formatting profile then I will adopt that; if it is the default then I will use that unchanged. Anyone else who is working on the code & in Netbeans feel free to also use the same profile. Eclipse users are going to be left out in the cold on this since I'll be leaving the shores of Eclipse for BioJava3. Maybe this can be the start of a defined set of coding practices but for the moment it will ease code sharing for myself & Scooter.
> 
> Andy
> 
> On 12 May 2010, at 14:25, LAW Andrew wrote:
> 
>> Don't think that there's anything I'd disagree with in what you've written. And he who controls the commit phase, controls the game (to paraphrase an obnoxious NZ rugby referee's tattoo).
>> 
>> 
>> On 12 May 2010, at 13:21, Richard Holland wrote:
>> 
>>> The below is a massive generalisation based on my experience of having worked as a software developer both in academia and in commercial environments (including an airline and a bank).
>>> 
>>> The standards of academic-generated software tend to be defined as whatever the author (usually a sole author) identifies as requiring least effort to achieve, so the library that gets used is the one they've just found on Google that looks like it probably works, the formatting is their editor's default, documentation is minimal (because most users will probably just email and ask questions anyway), user requirements gathering is based on asking friends at coffee, the code commenting is for their own short-term reference (because most software ceases to be developed any further after the paper about it is published or the author leaves the institute), etc. The standards tend to be selected as whatever makes the author's life easiest, as the software's purpose is to support some other research and usually is not the author's main goal - it gets published as a side-effect of their main research interests.
>>> 
>>> In commercial software standards tend to be defined by best practice, with authors (usually teams) being asked to adhere strictly to defined customs such a code formatting, and to thoroughly test any new libraries before using them. Detailed user documentation is required because helpdesks are expensive things to run, and proper detailed user requirements gathering is important to minimise subsequent helpdesk contact and improvement requests. Code commenting is also critical to aid new members of the team to take over when old members leave and there's no overlap to transfer knowledge face-to-face. These processes slow down development and increase the costs of the software produced but they do ensure that the code is of higher quality and is more maintainable, and that the users get more benefit from it.
>>> 
>>> The above comments might seem harsh over-generalisations but I can put my hand up and say I've definitely been guilty in the past of most of those academic charges myself, and I know plenty of others who have been there too. Likewise I've experienced how depressing it is to work in a commercial environment so strictly locked down that you think development is heading nowhere because it's just all too much effort.
>>> 
>>> BioJava sits between the two, along with most other Bio* open source projects. It's produced and maintained mostly by a team, as in commercial software, but that team is made up mostly of academics. If we want BioJava to be accepted as quality software we have to adopt at least some of the above commercial software development techniques, and then we need to ensure that everyone who develops for BioJava sticks to them to the letter. That could include being asked to reconfigure default settings on editors, post detailed explanations about choice of external libraries, etc.
>>> 
>>> cheers,
>>> Richard
>> 
>> Later,
>> 
>> Andy
>> --------
>> Yada, yada, yada...
>> 
>> The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336 
>> Disclaimer: This e-mail and any attachments are confidential and intended solely for the use of the recipient(s) to whom they are addressed. If you have received it in error, please destroy all copies and inform the sender.
>> 
>> 
>> 
>> 
>> 
>> 
>> -- 
>> The University of Edinburgh is a charitable body, registered in
>> Scotland, with registration number SC005336.
>> 
> 
> -- 
> Andrew Yates                   Ensembl Genomes Engineer
> EMBL-EBI                       Tel: +44-(0)1223-492538
> Wellcome Trust Genome Campus   Fax: +44-(0)1223-494468
> Cambridge CB10 1SD, UK         http://www.ensemblgenomes.org/
> 
> 
> 
> 

--
Richard Holland, BSc MBCS
Operations and Delivery Director, Eagle Genomics Ltd
T: +44 (0)1223 654481 ext 3 | E: holland at eaglegenomics.com
http://www.eaglegenomics.com/





More information about the biojava-dev mailing list