clojurewerkz / buffy

Buffy The ByteBuffer Slayer, Clojure library for working with binary data.
194 stars 13 forks source link

Discussion: Use namespace alias instead of :refer :all #18

Open tendant opened 10 years ago

tendant commented 10 years ago

Just want to start the discussion about one code convention in buffy.

In most buffy code, :refer :all used a lot for including functions in other namespace. I suggest to review this code. Since it might give new user a lot confusion. Sometimes it creates potential issue, especially when there is a function has the same name as a function from clojure.core namespace.

For example, some test code (from: https://github.com/clojurewerkz/buffy/blob/master/test/clojurewerkz/buffy/dynamic_test.clj#L18):

string-decoder (frame-decoder [buffer offset]
                         length (short-type)
                         string (string-type (read length buffer offset)))

read function also exists in clojure.core namespace. If this code is copied to some different place, it is very hard to tell the read function should be FrameType/read, instead of clojure.core/read.

If you think this change is appropriate, I can make the code change and send the pull request.

michaelklishin commented 10 years ago

@tendant this is not a major issue but please submit a PR.

bobby commented 4 years ago

@tendant and @michaelklishin, I encountered the same minor issue, and included fixes in PR #33.