From: Martin Dalecki <dalecki@evision-ventures.com>
To: Pavel Machek <pavel@suse.cz>
Cc: Andre Hedrick <andre@linuxdiskcert.org>,
Vojtech Pavlik <vojtech@suse.cz>, Jens Axboe <axboe@suse.de>,
kernel list <linux-kernel@vger.kernel.org>
Subject: Re: another IDE cleanup: kill duplicated code
Date: Wed, 13 Feb 2002 12:11:45 +0100 [thread overview]
Message-ID: <3C6A49F1.5000500@evision-ventures.com> (raw)
In-Reply-To: <3C6A418A.8040105@evision-ventures.com> <Pine.LNX.4.10.10202130228180.1479-100000@master.linux-ide.org> <20020213105625.GI32687@atrey.karlin.mff.cuni.cz>
Pavel Machek wrote:
>Hi!
>
>>>Well, after looking at yours code close engough I have one advice for
>>>you as well: LEARN C.
>>>
>>I specialize in storage, and C is self taught.
>>
>
>Okay, few things to keep in mind:
>
>*) cut-copy-paste is bad. If you fix error in one copy, it is _very_
>easy not to fix it in other copies.
>
>*) void *'s and casts are bad. They hide real errors. If you have
>
>struct foo {} bar;
>
>and want
>
>bar * baz;
>
>later;
>
>You can write it as struct foo * baz. That will make type checks
>actually work and save you lot of casts.
>
>*) hungarian notation is considered evil in kernel.
>
>struct bla_s {} bla_t;
>
>*is* evil -- why have two types when one is enough? In kernel land,
>right way is to do
>
>struct bla {};
>
>and then use "struct bla" everywhere you'd use bla_t. It might be
>slightly longer, but it helps you with casts (above) and everyone can
>see what is going on.
>
Add the following:
Silly code like that:
ide_add_setting(drive, "bios_cyl",
SETTING_RW,
ide_add_setting(drive, "bios_sect",
SETTING_RW,
ide_add_setting(drive, "bswap",
SETTING_READ,
ide_add_setting(drive, "multcount", id ? SETTING_RW
: SETTIN
Can be replaced with somthing along:
struct resource_record {
} rr = {
{ asjdkasdh, asdjhasjkd, asdjhjaskd }
....
{ asdjaksd, adsjaksd, asdhjasdhasd }
}
....
for (i; i < nuofmemebers(rr); ++i )
{
ide_add_setting(rr[i]);
}
to save you *a lot* of push stack call function and so on...
next prev parent reply other threads:[~2002-02-13 11:12 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-11 22:11 another IDE cleanup: kill duplicated code Pavel Machek
2002-02-12 10:52 ` Martin Dalecki
2002-02-12 12:28 ` Vojtech Pavlik
2002-02-12 12:45 ` Martin Dalecki
2002-02-12 12:57 ` Vojtech Pavlik
2002-02-12 13:17 ` Martin Dalecki
2002-02-12 13:43 ` Vojtech Pavlik
2002-02-12 13:58 ` Martin Dalecki
2002-02-12 14:42 ` Vojtech Pavlik
2002-02-12 15:23 ` Martin Dalecki
2002-02-12 15:28 ` Vojtech Pavlik
2002-02-12 15:35 ` Martin Dalecki
2002-02-12 16:56 ` Jens Axboe
2002-02-13 5:50 ` Andre Hedrick
2002-02-13 7:28 ` Vojtech Pavlik
2002-02-13 10:53 ` Martin Dalecki
2002-02-13 10:35 ` Martin Dalecki
2002-02-13 10:29 ` Andre Hedrick
2002-02-13 10:56 ` Pavel Machek
2002-02-13 11:11 ` Martin Dalecki [this message]
2002-02-13 11:25 ` Matthias Andree
2002-02-12 18:28 ` Andreas Dilger
2002-02-13 12:35 ` Martin Dalecki
2002-02-13 16:24 ` Andreas Dilger
2002-02-13 16:31 ` Martin Dalecki
2002-02-12 16:57 ` Jens Axboe
2002-02-13 5:46 ` Andre Hedrick
2002-02-13 6:42 ` Jens Axboe
2002-02-13 7:30 ` Andre Hedrick
2002-02-13 7:47 ` Jens Axboe
2002-02-13 7:44 ` Andre Hedrick
2002-02-13 7:58 ` Jens Axboe
2002-02-13 20:38 ` Rik van Riel
2002-02-13 11:01 ` Martin Dalecki
2002-02-13 11:03 ` Jens Axboe
2002-02-13 11:27 ` Vojtech Pavlik
2002-02-13 7:05 ` Vojtech Pavlik
2002-02-12 12:50 ` Martin Dalecki
2002-02-12 19:19 ` Roger Larsson
2002-02-13 10:56 ` Martin Dalecki
2002-02-12 20:03 ` Andrew Morton
2002-02-13 10:47 ` Martin Dalecki
2002-02-13 18:52 ` Andrew Morton
2002-02-14 10:04 ` Martin Dalecki
2002-02-14 10:19 ` Andrew Morton
2002-02-13 5:52 ` Andre Hedrick
2002-02-13 7:30 ` Vojtech Pavlik
2002-02-13 7:27 ` Andre Hedrick
2002-02-13 10:39 ` Vojtech Pavlik
2002-02-13 10:46 ` Andre Hedrick
2002-02-13 11:26 ` Vojtech Pavlik
2002-02-13 11:26 ` Andre Hedrick
2002-02-13 11:03 ` Daniel Egger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3C6A49F1.5000500@evision-ventures.com \
--to=dalecki@evision-ventures.com \
--cc=andre@linuxdiskcert.org \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@suse.cz \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox