求教程序风格
我刚学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
----------------解决方案--------------------------------------------------------
命名还只是程序风格的一小部分,
----------------解决方案--------------------------------------------------------