Skip to content

Commit 539ec4f

Browse files
markjschreiberandreasprlic
authored andcommitted
Change to wiki page
1 parent 2ee1bd5 commit 539ec4f

2 files changed

Lines changed: 92 additions & 2 deletions

File tree

_wikis/BioJava:CambridgeDiscussion.md

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ Background
77

88
In Febuary 2007 several current and former BioJava core developers met
99
at the EBI in Cambridge, UK to discuss future directions in BioJava. The
10-
following is a summary of what was discussed.
10+
following is a summary of what was
11+
discussed. --[Mark](User:Mark "wikilink") 03:16, 15 March 2007 (EDT)
1112

1213
BioJava1.5
1314
----------
@@ -43,3 +44,58 @@ should reduce them where appropriate.
4344
Suggestions of other exceptions that should be unchecked are welcome. It
4445
is simple to convert a checked to unchecked exception it is not possible
4546
to go the other way so we should properly discuss each example.
47+
48+
Java 5 (JDK1.5)
49+
---------------
50+
51+
It was decided that immediately after the release of BJ1.5 we should
52+
adopt and allow language features and API's from JDK1.5
53+
54+
Bug fixes and regression testing
55+
--------------------------------
56+
57+
The bugzilla system is an excellent way for us to track bugs. Where
58+
possible we should encourage bug reports to the mailing list to be
59+
entered in bugzilla as well to make sure they are not missed.
60+
61+
To make sure bugs do not re-emerge it was suggested that JUnit tests be
62+
created for individual bugs. Given that each test is probably very
63+
simple it shouldn't be too much of a burden to create them. Netbeans and
64+
Eclipse have very good JUnit wizards to make this even simpler.
65+
66+
I suggest that the tests could reside in a package like
67+
org.biojava.regression package. The tests could be named after the bug
68+
id, eg TestBug18675.java --[Mark](User:Mark "wikilink") 03:16, 15 March
69+
2007 (EDT)
70+
71+
New Classes and API's
72+
---------------------
73+
74+
New classes should be accompanied by <b>complete</b> javadocs of
75+
<b>all</b> public and protected methods, including @param, @exception
76+
and @return tags. Modern IDEs have good wizards to point out methods
77+
that are not properly documented.
78+
79+
I would like to make this automated so that code checked into the
80+
repository is rejected or an email is sent out to indicate that docs are
81+
not complete. --[Mark](User:Mark "wikilink") 03:16, 15 March 2007 (EDT)
82+
83+
New classes should have an accompanying JUnit test that covers
84+
<b>all</b> methods. People frequently miss equals(), hashcode(),
85+
compare() but these have behaivour contracts that require they are all
86+
in logical agreement. Strange and hard to debug behaivour arises if they
87+
are not tested properly. The toString() method should also be tested if
88+
it has been over-ridden because people start to rely on the value it
89+
produces.
90+
91+
Can a check for a JUnit test be
92+
automated?? --[Mark](User:Mark "wikilink") 03:16, 15 March 2007 (EDT)
93+
94+
Subversion and Maven
95+
--------------------
96+
97+
There was some discussion about biojava switching to subversion after
98+
the 1.5 release and possibly using Maven2 instead of Ant for building.
99+
100+
Does someone want to organize this?? --[Mark](User:Mark "wikilink")
101+
03:16, 15 March 2007 (EDT)
Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
== Background ==
22
In Febuary 2007 several current and former BioJava core developers met at the EBI in Cambridge, UK to discuss future directions in BioJava. The following is a summary of what was discussed.
3+
--[[User:Mark|Mark]] 03:16, 15 March 2007 (EDT)
34

45

56
== BioJava1.5 ==
7+
68
It was generally felt we should release as soon as possible! Although it is not bug free, completely documented/ tested etc it is probably still better than previous releases. Because we are encouraging people to use 1.5-beta2 instead of 1.4 it is pretty much the official version.
79

810
== Exception Handling ==
11+
912
It was generally felt that where possible exceptions that are unlikely and that would only happen in situations that the developer might expect should be runtime exceptions and not checked exceptions. More generally, problems caused by bad programming should be runtime exceptions. Problems caused by the user doing something odd should be checked exceptions.
1013

1114
An example is the ChangeVetoExceptions which will only occur if the developer has set up change listeners. This has been changed to a runtime (unchecked) exception in BJ1.5-beta2.
@@ -14,4 +17,35 @@ Things like IllegalSymbolException are probably errors caused by the user. For e
1417

1518
Checked exceptions create a development and learning burden and we should reduce them where appropriate.
1619

17-
Suggestions of other exceptions that should be unchecked are welcome. It is simple to convert a checked to unchecked exception it is not possible to go the other way so we should properly discuss each example.
20+
Suggestions of other exceptions that should be unchecked are welcome. It is simple to convert a checked to unchecked exception it is not possible to go the other way so we should properly discuss each example.
21+
22+
23+
== Java 5 (JDK1.5) ==
24+
25+
It was decided that immediately after the release of BJ1.5 we should adopt and allow language features and API's from JDK1.5
26+
27+
== Bug fixes and regression testing ==
28+
29+
The bugzilla system is an excellent way for us to track bugs. Where possible we should encourage bug reports to the mailing list to be entered in bugzilla as well to make sure they are not missed.
30+
31+
To make sure bugs do not re-emerge it was suggested that JUnit tests be created for individual bugs. Given that each test is probably very simple it shouldn't be too much of a burden to create them. Netbeans and Eclipse have very good JUnit wizards to make this even simpler.
32+
33+
I suggest that the tests could reside in a package like org.biojava.regression package. The tests could be named after the bug id, eg TestBug18675.java --[[User:Mark|Mark]] 03:16, 15 March 2007 (EDT)
34+
35+
36+
== New Classes and API's ==
37+
38+
New classes should be accompanied by <b>complete</b> javadocs of <b>all</b> public and protected methods, including @param, @exception and @return tags. Modern IDEs have good wizards to point out methods that are not properly documented.
39+
40+
I would like to make this automated so that code checked into the repository is rejected or an email is sent out to indicate that docs are not complete. --[[User:Mark|Mark]] 03:16, 15 March 2007 (EDT)
41+
42+
New classes should have an accompanying JUnit test that covers <b>all</b> methods. People frequently miss equals(), hashcode(), compare() but these have behaivour contracts that require they are all in logical agreement. Strange and hard to debug behaivour arises if they are not tested properly. The toString() method should also be tested if it has been over-ridden because people start to rely on the value it produces.
43+
44+
Can a check for a JUnit test be automated?? --[[User:Mark|Mark]] 03:16, 15 March 2007 (EDT)
45+
46+
47+
== Subversion and Maven ==
48+
49+
There was some discussion about biojava switching to subversion after the 1.5 release and possibly using Maven2 instead of Ant for building.
50+
51+
Does someone want to organize this?? --[[User:Mark|Mark]] 03:16, 15 March 2007 (EDT)

0 commit comments

Comments
 (0)