> Anytime I catch myself doing ^C/^V on a code segment I start thinking
template or virtual function.
…to make the code less readable. Cut-and-paste code is readable, not so with abusing templates and inheritance.
MS write 99% of their drivers in C, not C++.
This is because they do not like hidden semantics in such important areas.
Max
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
On 10/30/01, ““Maxim S. Shatskih” ” wrote:
…
> This is because they do not like hidden semantics in such important areas.
–
Hmm, Microsoft does not like hidden semantics in such important areas? I
don’t believe it. Look in ntddk.h for all this pretties like PAGED_CODE,
ASSERT, IsListEmpty macroses - they really can drive you crazy during
debuging.
And, BTW, DDK docs don’t even mention all this stuff to be “thin ice”
area.
>
> Max
–
Gennady Mayko.
>
>
>
> —
> You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> Hmm, Microsoft does not like hidden semantics in such important areas? I
don’t believe it. Look in ntddk.h for all this pretties like PAGED_CODE,
ASSERT, IsListEmpty macroses - they really can drive you crazy during
debuging.
Nothing crazy at all.
IsListEmpty is much more sane than any C++ templates.
PAGED_CODE does not influence the execution (unless you’re < DISPATCH_LEVEL).
ASSERT is a usual debugging tool since 70ies - I’m surprised ASSERT drives you crazy.
Max
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
On 10/31/01, ““Maxim S. Shatskih” ” wrote:
> > Hmm, Microsoft does not like hidden semantics in such important areas? I
> > don’t believe it. Look in ntddk.h for all this pretties like PAGED_CODE,
> > ASSERT, IsListEmpty macroses - they really can drive you crazy during
> > debuging.
>
> Nothing crazy at all.
–
It is a well know fact that using macroses in C (and, BTW, in C++ as well)
is the way to introduce problems in your code and hide semantics.
>
> Max
>
–
Regards,
Gennady Mayko.
>
>
> —
> You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> It is a well know fact that using macroses in C (and, BTW, in C++ as well)
is the way to introduce problems in your code and hide semantics.
Be accurate and do not abuse them.
IsListEmpty and CONTAINING_RECORD never caused any problems.
Not so with macros which alter something - yes, they are dangerous and require extreme care.
Max
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com