当前位置: 代码迷 >> C语言 >> 求教程序风格
  详细解决方案

求教程序风格

热度:430   发布时间:2008-02-04 16:11:05.0
求教程序风格
我刚学C,不知道C的程序风格要怎么样,有哪位能够教我么
搜索更多相关的解决方案: 程序风格  

----------------解决方案--------------------------------------------------------
你觉得怎么好看就怎么写
----------------解决方案--------------------------------------------------------
>....
最好是自己觉得好看 同时也让别人容易看懂
----------------解决方案--------------------------------------------------------
能让大家觉得``简单``不烦``

也就是让你的程序``在别人的眼睛里和头脑里的可移植性强些```

燕子说的也对``其实人们的风格都是大同小不同```
----------------解决方案--------------------------------------------------------
/*注释*/
int main()
{
   //语句
   return 0;
}

这个样子差不多了,很清爽。

不过程序风格是自己的,每个人的风格都不同,只要编出来的代码清晰就OK。
----------------解决方案--------------------------------------------------------
风格是因人而异的,我也说不好应该是什么风格,我给你看几段代码,你可以借鉴一下

[[it] 本帖最后由 lingluoz 于 2008-2-5 10:30 编辑 [/it]]
----------------解决方案--------------------------------------------------------
VOID
FORCEINLINE
IopQueueThreadIrp(
     IN PIRP Irp
     )
/*++

Routine Description:

    This routine queues the specified I/O Request Packet (IRP) to the thread
    whose TCB address is stored in the packet.

Arguments:

    Irp - Supplies the IRP to be queued for the specified thread.

Return Value:

    None.

--*/
{
    PETHREAD Thread;
    PLIST_ENTRY Head, Entry;

    Thread = Irp->Tail.Overlay.Thread;
    Head = &Thread->IrpList;
    Entry = &Irp->ThreadListEntry;

    KeEnterGuardedRegionThread (&Thread->Tcb);

    InsertHeadList( Head,
                    Entry );

    KeLeaveGuardedRegionThread (&Thread->Tcb);

}
上面一段是M$的Windows Research Kernel的源代码wrk-v1.2\base\ntos\io\iopcmn.h里面的一段(M$似乎对开源感兴趣了告)估计你用的XP内核里面也有这段代码编译的程序也说不定。。。
M$比较喜欢把函数的参数叠起来。。

    if (ExCmosClockIsSane
        && HalQueryRealTimeClock(&TimeFields)) {

        if (YearOverrideOption) {
            TimeFields.Year = (SHORT)CurrentYear;
        }

        RtlTimeFieldsToTime(&TimeFields, &CmosTime);

        if ( !ExpRealTimeIsUniversal ) {
            UniversalTime.QuadPart = CmosTime.QuadPart + ExpTimeZoneBias.QuadPart;
        }

        KeSetSystemTime(&UniversalTime, &OldTime, TRUE, NULL);
    }
这个是initos.c里面的一段,注意if后面花括号的位置
另外M$跟Linux内核代码最大的一个区别就是变量名函数名Linux喜欢用小写和下划线M$喜欢用大写字母区分单词
比如上面代码里的CurrentYear
Linux喜欢写成current_year

[[it] 本帖最后由 lingluoz 于 2008-2-5 10:37 编辑 [/it]]
----------------解决方案--------------------------------------------------------
另外就是匈牙利命名法
相关内容你可以去看http://www.kaoiki.com/read.php?100
----------------解决方案--------------------------------------------------------
命名还只是程序风格的一小部分,
----------------解决方案--------------------------------------------------------
  相关解决方案