> In the current libraries, all these classes pollute the global > namespace. They should all be encapsulated under a Thrift module I am 100% in favor of this.
> given better names (such as Thrift::Protocols::BinaryProtocol instead > TBinaryProtocol). This I'm not so sure about. We could do this in C++, Java, and Python too, but I don't think it is the right call. The cost of the extra "T" is tiny, and it makes it easier to do imports without bringing in names like "Protocol" and "Transport". > The 'thrift/thrift' library defines a bunch of classes > (again in the global namespace) which should all be broken up into > separate files and placed under the Thrift module Sounds good. > and renamed. See above. > The > method names are not idiomatic to ruby - I'm seeing things like > readStructEnd instead of read_struct_end and isOpen instead of open?. I'm fine with changing these, but I am super biased against camelCase. What do others think? > I'm also seeing attempts to mimic Interfaces/virtual classes, which is > just plain ugly (see TProtocol where every method returns nil). As long as there is a nice way of documenting what methods are expected to be implemented in the concrete subclasses. >>> Is there a git repository somewhere? >> There is an unofficial repo at <git://thrift-git.thruhere.net/thrift.git>. >> A lot of non-committers have been using it to develop and share >> experimental branches. I can give you an account so you can push >> branches if you send me your ssh public key. If you prefer github, it >> is mirrored at <http://github.com/dreiss/thrift/tree/master>, but I've >> been encouraging developers to also push their changes to thruhere so >> everything will be in one place. > > How frequently is that mirror updated? Every 5 minutes. --David
