Mercurial > jhg
diff design.txt @ 427:31a89587eb04
FIXMEs: consistent names, throws for commands and their handlers. Use of checked exceptions in hi-level api
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Thu, 29 Mar 2012 17:14:35 +0200 |
parents | 0ae53c32ecef |
children |
line wrap: on
line diff
--- a/design.txt Wed Mar 28 19:34:37 2012 +0200 +++ b/design.txt Thu Mar 29 17:14:35 2012 +0200 @@ -139,4 +139,10 @@ Unfortunately, Revision would be a nice name for a class <int, Nodeid>. As long as I don't want to keep methods to access int/nodeid separately and not to stick to Revision struct only (to avoid massive instances of Revision<int,Nodeid> when only one is sufficient), I'll need to name these separate methods anyway. Present opinion is that I don't need the object right now (will have to live with RevisionObject or RevisionDescriptor -once change my mind) \ No newline at end of file +once change my mind) + +Handlers (HgStatusHandler, HgManifestHandler, HgChangesetHandler, HgChangesetTreeHandler) +methods DO NOT throw CancelledException. cancellation is separate from processing logic. handlers can implements CancelSupport to become a source of cancellation, if necessary +methods DO throw HgCallbackTargetException to propagate own errors/exceptions +methods are supposed to silently pass HgRuntimeExceptions (although callback implementers may decide to wrap them into HgCallbackTargetException) +descriptive names for the methods, whenever possible (not bare #next) \ No newline at end of file