I'm not a big fan of Hungarian notation either. I'm not sure that having a
naming convention for Iterators is Hungarian notation, however. For
example, if you are doing Windows programming, you'll see stuff like:

DWORD dwFoo = 0;

In this case, the "dw" prefix on the variable indicates that we have a
DWORD variable. However, the Iterator suffix that I'm proposing here is a
suffix on the type names, not the actual variable names. So, if you are
writing Rust code, you'd write something like this:

let chunks = some_vector.chunks(50);

So, the actual variable name doesn't have the Hungarian notation and the
types aren't even generally visible since the compiler infers much of that.
However, someone reading through the documentation and/or code will see a
struct named ChunkIterator and instance know how the struct behaves - as an
Iterator. So, I think the suffix serves less to describe the datatype and
more to describe class of behavior that the struct implements.

Anyway, as I said, I prefer #1. But, I also have done lots of Java
programming so I'm probably much more used to verbosity than others. I'm
not horribly against some sort of other naming convention, either, of
course, but I would like to see some consistency.

My main motivation for opening the request was because I created
MutChunkIter and then realized that it was named differently than majority
of other Iterators. I don't want to be responsible for someone reading
through the docs and seeing something thats inconsistent for no good
reason! Also, I was reading through some code and happened upon a "Map" and
was exceptionally confused about it, until I realized it was iter::Map as
opposed to container::Map. I figured I probably wasn't the only person that
was going to be confused by something like this.

-Palmer Cox





On Sat, Dec 21, 2013 at 3:14 PM, Kevin Cantu <m...@kevincantu.org> wrote:

> IMHO Hungarian notation is for things the type system and tooling
> cannot deal with.  I'm not sure this is one of them...
>
>
> Kevin
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to