開發記要 詭異的變量

 

告別繁體文盲,從寫blog開始


     Variable命名很重要,有多重要,看看.net和java的加密就知道, 都是把variable改到一塌糊塗,你想看看都沒門. 但是這幾天看遺留系統的代碼,真是大開眼界。
   

     我一直以為別人寫a,b,c,d這些單字節variable已經很過分。直到我看到以下這幾個,排名不分先後:


    1)HTML_XXXX_NOT_CREATED="Created"
       看到這個變量,我簡直快暈過去,究竟是Not Created,還是 Created? 它是個常量,只有一個,很幸運使用的地方也只有一個。否則估計我會自殺去了。


    2)HTML_XXXX_NOT_EXPIRED=“Actived”,
      上面那個可能是粗心,這個就很不可理喻,不是Expired,就一定是Actived嗎?也許吧,那麼Not_Finish可以是“Actived”嗎?Not_Sleep呢?根據我看金田一的經驗,那麼Actived應該叫"Not Expired"(很可是,我錯了)。爲什麽要用否定了。怪不得某個大師說過,儘量用肯定式的語法。


    3)第三個情況,和第二個差不多的,不過和第一個很有關係。在文檔寫的是Not Finish,對應的數據庫字段是“N”, 而需要顯示是“Created”。 而這個Created對應常量是第一個Not_Created。咬牙切齒 於是我就短路1分鐘。


    4)ExpiredOrComplete,這個很疑惑,究竟是Expired還是Complete?不過你放心,智慧是無限的。根據代碼判斷,如果字段A,是X或XX或XXX,那麼就是 Complete,如果A字段是Not XXXX,並且B字段不是XXXXX,那麼就是Expired啦。你明白不?不明白沒關係,你可以看database文檔的第60頁、第66頁、以及第 70頁,以及第.......,裏面不是說的很清楚嗎?還是不明白,你可以運行一下程序啊。各種情況都試一下.....,這個module總共有5個字段互相組合,那麼就會顯示不同的狀態的。懂不?你真是春天下的兩條蟲,靠。


   怪不得有人說,程序員是世界上最聰明的人。

转载于:https://www.cnblogs.com/fantasylu/archive/2009/10/29/1592600.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序算法---快速排序、堆排序、冒泡排序

排序算法1 快速排序代码实现stdlib库快排2 堆排序堆排序的基本思想如何构造一个大顶堆排序3 冒泡排序1 快速排序 文章原地址:https://blog.csdn.net/morewindows/article/details/6684558 快速排序的平均时间复杂度是0(NlogN),它采用了一种分治的策略&a…

CSS Hack 汇总快查

*:lang(zh) select {font:12px !important;} /*FF的专用*/ select:empty {font:12px !important;} /*safari可见*/ 这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。 仅IE7识别 *html {…} 当面临需要只针对IE7做样式的时候就可以采用这个HACK…

杭电2013-蟠桃记(C++)

Problem Description 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题! 什么问题?他研究的问题是蟠桃一共有多少个! 不过&#…

c#中重载单目运算符-_C#程序重载二进制运算符(-,*,/)

c#中重载单目运算符-Here, we will design overloaded methods for binary operators: minus, multiply and divide. In the below program, we will create a Calculator class with data member val. 在这里,我们将为二进制运算符设计重载方法:减&…

项目总结:华南师范大学校园开发教育android客户端总结

忽略之前小打小闹,这个项目算是我的第一个项目--SCNU的网络公选课的android版本的客户端。项目是从5月中旬开始的,中间经历了几个星期的复习考试时间,到现在可以说是完工了吧(或许还有写细节要修改)。这个项目带给我蛮…

火鸟字幕合并器

火鸟字幕合并器-区块独立勾选-保存。汉王 PDF OCR转载于:https://www.cnblogs.com/hnytwn/archive/2009/10/31/1593395.html

Linux系统编程---守护进程

1 守护进程的概述 Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大…

c ++明明的随机数_从列表C ++程序中随机建议电影

c 明明的随机数Problem statement: 问题陈述: Write an application code that will suggest movies from a list randomly and there wont be any repeat while suggesting the movies. That means the same movie wont be suggested twice though it will be don…

邮箱服务器

一.邮箱服务器的基本概念 邮件的客户端:可以只安装在电脑上(C/S)的也可以是网页形式(B/S)的 邮件服务器:起到邮件的接受与推送的作用 邮件发送的协议: 协议:就是数据传输…

C#提高保存jpg图像的质量

在程序中直接生成的jpg图像,汉字有毛边,经过一番搜索,在msdn上发现了下面控制jpg质量系数的文章,修改后试了一下,效果确实比前面强多了。原理我也不大懂,把代码贴出来,与大家共享。 联合图…

延迟和定时器管理

文章目录1 内核中时间概念2 标准定时器jiffies和HZ定时器API标准定时器案例3 高精度定时器(HRT)高精度定时器案例4 内核中延迟和睡眠原子上下文非原子上下文1 内核中时间概念 时间概念对计算机来说有些模糊,事实上内核必须在硬件的帮助下才能计算和管理时间。硬件为…

Web开发工具(插件)收集

1.IE Developer Toolbar 浏览和修改,选定Web页上的特定元素,查看HTML对象的类名、ID,以及类似链接路径、tab顺序、快捷键等。 2.HttpWatch Professional 一款强大的网页数据分析工具,可以查看当前网页的http数据 FireFox插件 FireFox下插件实…

cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

转载,并经过本人补充cin、cin.get()、cin.getline()、getline()、gets()等函数的用法2007/10/27 22:51学C的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差…

Java StringBuilder subSequence()方法与示例

StringBuilder类subSequence()方法 (StringBuilder Class subSequence() method) subSequence() method is available in java.lang package. subSequence()方法在java.lang包中可用。 subSequence() method is used to return the new set of a character sequence that is a …

Linux设备驱动开发---设备树的概念

文章目录1 设备树机制命名约定别名、标签和phandleDT编译器2 表示和寻址设备SPI和I2C寻址平台设备寻址3 处理资源提取特定应用数据文本字符串单元格和无符号的32位整数布尔提取并分析子节点4 平台驱动程序与DTOF匹配风格处理非设备树平台平台数据与DT设备树(DT&…

【转】C#中数组复制的4种方法

C#中数组复制的4种方法 from:http://blog.csdn.net/burningcpu/article/details/1434167今天旁边的同事MM叫我调了一段程序,她想复制一个数组,int[] pins {9,3,4,9};int [] alias pins;这里出了错误,也是错误的根源&#xff0c…

Java StringBuilder codePointAt()方法与示例

StringBuilder类codePointAt()方法 (StringBuilder Class codePointAt() method) codePointAt() method is available in java.lang package. codePointAt()方法在java.lang包中可用。 codePointAt() method is used to return the Unicode code point at the given indices an…

用户虚拟地址转化成物理地址,物理地址转换成内核虚拟地址,内核虚拟地址转换成物理地址,虚拟地址和对应页的关系

文章目录1. 用户虚拟地址转换成物理地址2. 内核虚拟地址转换成物理地址3. 物理地址转换成内核虚拟地址4 内核虚拟地址和对应页5 根据进程号获取进程描述符1. 用户虚拟地址转换成物理地址 static void get_pgtable_macro(void) {printk("PAGE_OFFSET 0x%lx\n", PAGE…

简单三层架构(登录)

1,首先导包 dao //获取数据String username request.getParameter("username");String password request.getParameter("password");//传递到Service层UserService service new UserService();//这里的UserService 需要创建到service包下Use…

通过隐藏option实现select的联动效果

开始的时候需求是根据一定条件隐藏一部分<option>标签&#xff0c;类似联动效果&#xff0c;但是目前的html规范并没有为<option>提供隐藏的效果&#xff0c;因此常用的设置display或者visibility无效。网上大部分解决方案是删除<option>节点或<option>…