[Cuis-dev] recommendations for class name prefixes

Andres Valloud ten at smallinteger.com
Sat Jun 22 22:15:49 PDT 2024


Why is it that I can make a C program with a function called memcpy(), 
avoiding conflicts with whatever the standard library or even the 
compiler itself provides?

On 6/22/24 10:06 PM, Luciano Notarfrancesco via Cuis-dev wrote:
> On Sun, Jun 23, 2024 at 11:44 Andres Valloud via Cuis-dev 
> <cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>> wrote:
> 
>     What is a "program"?
> 
> 
> Not sure what you’re thinking… and I guess I should say “exactly!”. The 
> association between a name and a concept depends on context, you can’t 
> expect me to know what kind of “program” you’re talking about without 
> context.
> 
> 
> 
> 
> 
>     On 6/22/24 8:50 PM, Luciano Notarfrancesco via Cuis-dev wrote:
>      > I think it is normal to have name clashes in big systems with a
>     global
>      > namespace, it happens in natural languages as well (and in some
>      > languages a lot more than in english or spanish). I appreciate the
>      > simplicity of not having namespaces, but I think using longer
>     names with
>      > extra words is not a good solution. Even in a base image as small
>     as we
>      > have in Cuis there are some important names already taken like
>     Object,
>      > Set and Point. Not being able to use Set is particularly
>     annoying, since
>      > there’s no other name for sets… but well, it’s ok, it could be
>     worse (in
>      > a system with 10k classes, for example)
>      >
>      > On Sun, Jun 23, 2024 at 05:58 Juan Vuletich <juan at cuis.st
>     <mailto:juan at cuis.st>
>      > <mailto:juan at cuis.st <mailto:juan at cuis.st>>> wrote:
>      >
>      >     __
>      >     On 6/20/2024 2:19 AM, Luciano Notarfrancesco via Cuis-dev wrote:
>      >>     It’s up to you. I don’t do it, and i think most people in Cuis
>      >>     dont do it either (perhaps becase Cuis is smaller than other
>      >>     Smalltalks, so it’s less prone to name clashes).
>      >>
>      >>     On Thu, Jun 20, 2024 at 06:39 Mark Volkmann via Cuis-dev
>      >>     <cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>
>     <mailto:cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>>> wrote:
>      >>
>      >>         From what I understand it is standard practice to add a
>     prefix
>      >>         your classes to avoid name conflicts with classes from other
>      >>         packages. Is it recommended to do this for every class you
>      >>         define? Are there guidelines on choosing prefixes such as
>      >>         their length (2?) and case (all uppercase?) ? Is there a
>     list
>      >>         of well known prefixes used by popular packages that we
>     should
>      >>         avoid using in our own class names?
>      >>
>      >>         ---
>      >>         R. Mark Volkmann
>      >>         Object Computing, Inc.
>      >>         --
>      >>         Cuis-dev mailing list
>      >> Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
>     <mailto:Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>>
>      >> https://lists.cuis.st/mailman/listinfo/cuis-dev
>     <https://lists.cuis.st/mailman/listinfo/cuis-dev>
>      >>         <https://lists.cuis.st/mailman/listinfo/cuis-dev
>     <https://lists.cuis.st/mailman/listinfo/cuis-dev>>
>      >>
>      >
>      >     The question is: why do names clash? I can think of two reasons:
>      >     - Duplicated concepts. A redesign is in order. Each concept
>     should
>      >     appear once.
>      >     - Names are too generic. Things that are not the same are
>     named the
>      >     same. Renaming is in order to clarify.
>      >
>      >     The only times I had names clashing, and I still wanted them to
>      >     coexist was during merge of different codebases. For that, a
>     rename
>      >     with some prefix is appropriate. Any prefix would do. It
>     should be
>      >     as short lived as possible.
>      >
>      >     HTH,
>      >
>      >     --
>      >     Juan Vuletich
>      > cuis.st <http://cuis.st>  <http://cuis.st <http://cuis.st>>
>      > github.com/jvuletich <http://github.com/jvuletich> 
>     <http://github.com/jvuletich <http://github.com/jvuletich>>
>      > researchgate.net/profile/Juan-Vuletich
>     <http://researchgate.net/profile/Juan-Vuletich> 
>     <http://researchgate.net/profile/Juan-Vuletich
>     <http://researchgate.net/profile/Juan-Vuletich>>
>      > independent.academia.edu/JuanVuletich
>     <http://independent.academia.edu/JuanVuletich> 
>     <http://independent.academia.edu/JuanVuletich
>     <http://independent.academia.edu/JuanVuletich>>
>      > patents.justia.com/inventor/juan-manuel-vuletich
>     <http://patents.justia.com/inventor/juan-manuel-vuletich> 
>     <http://patents.justia.com/inventor/juan-manuel-vuletich
>     <http://patents.justia.com/inventor/juan-manuel-vuletich>>
>      > linkedin.com/in/juan-vuletich-75611b3
>     <http://linkedin.com/in/juan-vuletich-75611b3> 
>     <http://linkedin.com/in/juan-vuletich-75611b3
>     <http://linkedin.com/in/juan-vuletich-75611b3>>
>      > twitter.com/JuanVuletich <http://twitter.com/JuanVuletich> 
>     <http://twitter.com/JuanVuletich <http://twitter.com/JuanVuletich>>
>      >
>      >
>     -- 
>     Cuis-dev mailing list
>     Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
>     https://lists.cuis.st/mailman/listinfo/cuis-dev
>     <https://lists.cuis.st/mailman/listinfo/cuis-dev>
> 
> 


More information about the Cuis-dev mailing list