<div dir="ltr">On 30 October 2017 at 16:34, Adam Kemp <span dir="ltr">&lt;<a href="mailto:adam_kemp@apple.com" target="_blank">adam_kemp@apple.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div><span class=""><div><br></div></span><div>I didn’t mean “no, you can’t do that”. You can if you want to. What I meant was “no, I’m not suggesting that you should do that”. I don’t think it’s necessary.</div></div></div></div></blockquote><div><br></div><div>as you said before the benefit of keeping private things private is minimizing the amount of code that can break once you change a variable. if it&#39;s &quot;internal&quot; - the whole module must be checked. if it is &quot;internal&quot; rather than &quot;private&quot;:</div><div>it is done because otherwise i&#39;d have to keep the (big) class in a single file</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div><div>Which other language has an access level like the one being proposed?</div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>this:</div><div><br></div><div>SingleFileClass1.swift // with bunch of &quot;privates&quot; inside</div><div><br></div><div><div>SingleFileClass2.swift // with bunch of &quot;privates&quot; inside</div><div><br></div></div><div><div>SingleFileClass3.swift // with bunch of &quot;privates&quot; inside</div></div><div><br></div><div>is equivalent to this:</div><div><br></div><div>Module solely for Class1</div><div>   Class1.swift // with bunch of &quot;internals inside</div><div>   Class1+Extension.swift // with bunch of &quot;internals&quot; inside</div><div>   </div><div>Module solely for Class2</div><div><div>   Class2.swift // with bunch of &quot;internals&quot; inside</div><div>   Class2+Extension.swift // with bunch of &quot;internals&quot; inside  </div></div><div><br></div><div><div>Module solely for Class3</div><div>   Class3.swift  // with bunch of &quot;internals&quot; inside</div><div>   Class3+Extension.swift // with bunch of &quot;internals&quot; inside</div><div>   </div></div><div><br></div><div>still &quot;no&quot; ?</div><div><br></div><div>i mean, it&#39;s fine (although a bit odd) that a mere change from a single-file to a multi-file class leads to such drastic consequences. different to what i saw before. but I can adapt of course.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="auto"><div></div><div>Either way the answer is basically the same: don’t obfuscate the effective access level and pretend you’re being strict when you’re really not. It’s like putting a lock on the door with the key hanging from the doorknob. You may as well just keep it unlocked. </div><span class="m_2485987341847621722gmail-"><div><br></div></span></div></blockquote><div><br></div><div>nice analogy :-)</div><div><br></div><div>Mike<br></div><div><br></div></div></div></div>
</div></blockquote></span></div><br></div></div></blockquote></div><br></div></div>