You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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)
3
4
4
5
5
6
== BioJava1.5 ==
7
+
6
8
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.
7
9
8
10
== Exception Handling ==
11
+
9
12
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.
10
13
11
14
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
14
17
15
18
Checked exceptions create a development and learning burden and we should reduce them where appropriate.
16
19
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