On Thu, Jul 24, 2008 at 6:37 AM, Adelle Hartley <[EMAIL PROTECTED]> wrote:
> Hello again.
>
> Apparently, I should get out more.  I've pretty much been coding under a
> rock for the last decade with pretty much no interaction with other
> programmers at all.  So, I'm pretty confident that some of the programming
> practices that I've developed over time are a bit different from others.
>
> So anyway, lately I've been trying to explain some of my code to other
> people and I've been drawing some confused looks.
>
> var SelectedCustomer = OurData.Customer(SelectedCustomerID);
> // At least I usually don't have to explain type-inferencing, I mean
> "SelectedCustomer" is a "Customer", right?
>
> string CustomerTradingName = SelectedCustomer.TradingName;
> // Everybody gets this.  I'm just reading a property off an object.
>
> float ExchangeRate = SelectedCustomer.Country.Currency.ExchangeRate;
> // Some people find this confusing.
>
> Which brings me to the title of this post.
>
> I could have written the last line as
>
> Country CustomerCountry = SelectedCustomer.Country;
> Currency CustomerCurrency = CustomerCurrency.ExchangeRate;
> float ExchangeRate = CustomerCurrency.ExchangeRate;
>
> Most people get that, although I have been asked why couldn't I write
>
> CountryID = SelectedCustomer.CountryID;
> CustomerCountry = OurData.Country(CountryID)
>
> So... (ignoring the fact that I could probably have conflated the concepts
> of "Country" and "Currency" with no real loss) ...
>
> Run-on dereferencing - "SelectedCustomer.Country.Currency.ExchangeRate"
>
> Is it normal?  From what I've seen of other people's code, it's not all that
> common.  Users seem to want to spell out every step.  But then, I've spent a
> lot of time looking at Visual Basic and C# code and not much of anything
> else.
>
> When I'm coding in C++, I tend to spell things out more, but I put that down
> to my lack of knowledge & experience.

Unless there was a reason to use the intermediate variable I would always
use 'run-on dereferencing'. And would probably get people to change to
run-on dereferencing in a code review if I saw it in other people's code.

Benno
_______________________________________________
coders mailing list
coders@slug.org.au
http://lists.slug.org.au/listinfo/coders

Reply via email to