I'm not sure I understand your tidiness argument. If x uses g and f, and g and f are private, that's plenty related enough for me to put them in the same namespace, preferably right before x.
If f and g are meant to be private, the only reason I would see to put them in a separate namespace is if the current one is so big that it gets unwieldy. This can be a matter of taste, but as a data point I find that point around a thousand lines of Clojure. Do keep in mind, however, that if f and g are put in a separate namespace, they are no longer private, as x will need to call them. (x could use direct var access, but that feels very messy to me.) On Wednesday, 19 November 2014, henry w <henryw...@gmail.com> wrote: > > imagine in a namespace you have functions x, y, and z which are public. > > function x grows a bit big, so is broken out so that it calls 2 other > functions, f and g. > > now, imagine with all the clean code and refactoring in the world, still f > and g have nothing to do with y and z - but are declared in the same > namespace and that looks untidy and lacks cohesion - even if f and g are > private. > > should x, f and g now move into their own namespace? > > in that case, x doesnt live with y and z, which it should do. > moving just f and g into their own ns 'guts-of-x' feels overblown. > or keep x just as a var that refers to var guts-of-x/x-impl, which is a > var that has the contents of the old x. > > or, should f and g not be top level? they could be let within x. x is then > still big, but at least f and g have names and x doesnt look like a big > inline jumble. > > please advise. thanks. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > <javascript:_e(%7B%7D,'cvml','clojure@googlegroups.com');> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > <javascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@googlegroups.com');> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com > <javascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@googlegroups.com');>. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.