clojurewerkz / buffy

Buffy The ByteBuffer Slayer, Clojure library for working with binary data.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Discussion: Use namespace alias instead of :refer :all

tendant opened this issue · comments

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.

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

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