<div dir="ltr">I exchanged a class to an enum since the BMI values are a finite set. This eliminates a need for valid value check since the switch that is used to initialise the enum value is exhaustive.<div><br></div><div><a href="http://swiftstub.com/242291010/">http://swiftstub.com/242291010/</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 15, 2015 at 3:30 PM, Erica Sadun via swift-users <span dir="ltr">&lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Leaving aside typos, any discussion about the merits of BMI, and the intemperate language in the code, you do a few things that could be improved upon language-wise. Of these, the most egregious is the final &quot;break the machine&quot; else statement that can never be reached.</div><div><br></div><div>The following example does several things:</div><div><a href="http://swiftstub.com/358512527" target="_blank">http://swiftstub.com/358512527</a></div><div><br></div><div>* Adds a precondition to ensure that clients have passed valid arguments</div><div>* Uses an enumeration (with a default value) instead of overloading a class function with nearly identical code</div><div>* Introduces a multiplier to address the kg/lb difference</div><div>* Establishes an upper case name for the class</div><div>* Uses a switch statement instead of cascaded ifs </div><div>* Returns a String instead of running procedurally</div><div><br></div><div>-- E</div><div><br></div><div><br></div><div><blockquote type="cite"><div><div class="h5"><div>On Dec 14, 2015, at 8:20 PM, Gage Morgan via swift-users &lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt; wrote:</div><br></div></div><div><div><div class="h5"><div>For most languages I try out, my own version of &quot;Hello World!&quot; is a BMI calculator. Swift has passed, I encourage you to try it out. </div><div><br></div><div>There are two methods called towards the end of file:</div><div>1) bmi.pounds(weight, height) - Replace numbers inside with your own if you want to test out in US Customary units. </div><div><br></div><div>2) bmi.kilograms(weight, height) - Replace numbers inside with your own if you want to test out in Metric units used everywhere outside the US. </div><div><br></div><div>You already get the gist, the bits can be found here:</div><div><a dir="ltr" href="https://gist.github.com/anonymous/9284017644567c29c7f8" target="_blank">https://gist.github.com/anonymous/9284017644567c29c7f8</a></div><div><br></div><div>If there&#39;s a bug please let me know, but it works in IBM&#39;s Sandbox. </div><div>(Yes, ALL code was written by me without help. Very close to C, just a bit laid back.)<br><div>--MGage--</div><br></div></div></div><img src="https://u2002410.ct.sendgrid.net/wf/open?upn=r5jpKsi6nat7oa43lpCLi5GRGm2utDkbDscuFklXZ2eJPJ4boPZNsfTMUXhuzxscfQ2dHfHp3kfeoCOhec2ab-2BO8i1qEISpGs3-2FQEBW7Oj6d5leYACbhcAIF4BH3Zv2BS8SZh7k7rWhEP6osSNkgTd4oIWESIHqQl1oTuvLHAPBqZVGhUk9H9xxpMLiADU9xYh6VjS0UAS2xG4eRwOFgvlwcR2JwZoqilv4sKS32Vao-3D" alt="" width="1" height="1" border="0" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important">
_______________________________________________<br>swift-users mailing list<br><a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-users" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br></div></blockquote></div><br>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=lQckFwdSYCkaJC-2BMD1TyWdosrllnnNMdVzdfbO82jL6iCbkn9yUcIkVTsUM2NtwF-2FKUhRmGXKcqVa3GqIqyECXR1EZEHXx7yyXOwyHIb8KOWZSm1vcJe2w5nVp0eADmuP8dbwGUtkk1auEQ0sJ2gLxQvdcQAwvkWUmOLl-2FGHYBt0Mm-2BXLIEOtkCQY6DsBYXwpv4VltZGcr65mmFNw9ZPP5ajs1AcqQ11tpAaDS33we4-3D" alt="" width="1" height="1" border="0" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important">
</div>
<br>_______________________________________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br>
<br></blockquote></div><br></div>