<div dir="auto">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)</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jun 23, 2024 at 05:58 Juan Vuletich <<a href="mailto:juan@cuis.st">juan@cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><u></u>
<div bgcolor="#ffffff" text="#000000"></div><div bgcolor="#ffffff" text="#000000">
On 6/20/2024 2:19 AM, Luciano Notarfrancesco via Cuis-dev wrote:
<blockquote type="cite">
<div>
<div dir="auto">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).</div>
</div>
<div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Jun 20, 2024 at
06:39 Mark Volkmann via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">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?<br>
<br>
---<br>
R. Mark Volkmann<br>
Object Computing, Inc.<br>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br></div><div bgcolor="#ffffff" text="#000000">
The question is: why do names clash? I can think of two reasons:<br>
- Duplicated concepts. A redesign is in order. Each concept should
appear once.<br>
- Names are too generic. Things that are not the same are named the
same. Renaming is in order to clarify.<br>
<br>
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.<br>
<br>
HTH,<br>
<pre cols="72" style="font-family:monospace">--
Juan Vuletich
<a href="http://cuis.st" target="_blank" style="font-family:monospace">cuis.st</a>
<a href="http://github.com/jvuletich" target="_blank" style="font-family:monospace">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" target="_blank" style="font-family:monospace">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" target="_blank" style="font-family:monospace">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank" style="font-family:monospace">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank" style="font-family:monospace">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" target="_blank" style="font-family:monospace">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote></div></div>