On 5/20/2010 11:30 AM, Andrei Popescu wrote:
As someone new to this API, I thought the naming used in the current
draft is somewhat confusing. Consider the following interfaces:

IndexedDatabase
IndexedDatabaseRequest,
IDBDatabaseRequest,
IDBDatabase,
IDBRequest

Just by looking at this, it is pretty hard to understand what the
relationship between these interfaces really is and what role do they
play in the API. For instance, I thought that the IDBDatabaseRequest
is some type of Request when, in fact, it isn't a Request at all. It
also isn't immediately obvious what the difference between
IndexedDatabase and IDBDatabase really is, etc.
It should be noted that we did not want to rock the boat too much with our proposal, so we stuck with the existing names. I think the current spec as written has the same issues.

- I know we need to keep the "IDB" prefix in order to avoid collisions
with other APIs. I would therefore think we should keep the IDB prefix
and make sure all the interfaces start with it (right now they don't).
I agree with this.  We should probably file a bug about this.

- The "Request" suffix is now used to denote the asynchronous versions
of the API interfaces. These interfaces aren't actually Requests of
any kind, so I would like to suggest changing this suffix. In fact, if
the primary usage of this API is via its async version, we could even
drop this suffix altogether and just add "Sync" to the synchronous
versions?
I agree that Request seems confusing and seems to be contrary to what other specs use. We should try to follow what other specs do here.

- Some of the interfaces could have names that would more closely
reflect their roles in the API. For instance, IDBDatabase could be
renamed to IDBConnection, since in the spec it is described as "a
connection to the database". Likewise, IndexedDatabase could become
IDBFactory since it is used to create database connections or key
ranges.
This sounds good as well.

In any case, I want to make it clear that the current naming works
once one takes the time to understand it. On the other hand, if we
make it easier for people to understand the API, we could hopefully
get feedback from more developers.
Making it easier for someone to look at the method names and just know how to use the API seems like a good goal in my book.

Cheers,

Shawn

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to