私はC言語を学んでいますが、これまでのところ言語をよく理解しており、最近は単なるリンクリストを実装しました。私は、Linus Torvalds氏とテッド会談を見ていた、彼は悪いコード対良いコードを言及し、リンクリストからエントリを削除するこれらの2つの例を提供した:C-効率的なコードと良いコードとの比較
/*bad code*/
remove_list_entry(entry){
prev = NULL;
walk = head;
while(walk != entry){
prev = walk;
walk = walk->next;
}
if(!prev)
head = entry->next;
else
prev->next = entry->next;
/*good code*/
remove_list_entry(entry){
indirect = &head;
while ((*indirect) != entry)
indirect = &(*indirect)->next;
*indirect = entry->next;
}
良いコードの彼の例があるように私には思えます効率的ですが、私はこれを自分で考え出していないでしょう。私が従うことができるCでのプログラミング中に良い練習のための推奨はありますか?また、彼の例のようにポインターを操作する方法もありますか? C.のプログラミング中に避けるべき悪い習慣や習慣と同様、これはあまりにも広い質問ではないと思っています。
これは広すぎる質問です。はっきりと答えられる質問をしてください。 – user694733
広すぎるかどうかわかりませんが、コードレビューコミュニティでより良い回答を見つけ出す必要があります。 –
おそらくそれは広すぎます。ベストプラクティスに関するよく見直された書籍を入手し、有用なイディオムを拾うためによく理解されたコードを読んでください。あなたが批判的な目で書いたものを見るために戻って、最終的には... – Useless