Coding style 什么';那是你被外界限制而被迫写的最难看的代码?
你写的最难看的代码是什么?不是因为你不懂,而是因为软件、硬件或公司政策的限制Coding style 什么';那是你被外界限制而被迫写的最难看的代码?,coding-style,Coding Style,你写的最难看的代码是什么?不是因为你不懂,而是因为软件、硬件或公司政策的限制 由于在数据库布局和编程语言方面的不寻常选择,我曾经构建了一个C程序,该程序读取SQL数据库结构,并生成另一个C程序,该程序读取该数据库并将其备份到一个文件中,或者将其复制到共享或多或少相同列的第二个数据库中。这是一个巨大而笨重的代码生成器。任何正则表达式。:) 我很自豪,也不写极端丑陋的代码(尽管丑陋的定义随着经验的变化而变化)。我的老板付钱让我写代码,他希望它是好的 有时候你得写些黑客作品。但是您必须始终声明以后有权
由于在数据库布局和编程语言方面的不寻常选择,我曾经构建了一个C程序,该程序读取SQL数据库结构,并生成另一个C程序,该程序读取该数据库并将其备份到一个文件中,或者将其复制到共享或多或少相同列的第二个数据库中。这是一个巨大而笨重的代码生成器。任何正则表达式。:) 我很自豪,也不写极端丑陋的代码(尽管丑陋的定义随着经验的变化而变化)。我的老板付钱让我写代码,他希望它是好的
有时候你得写些黑客作品。但是您必须始终声明以后有权修复这些问题,否则您将在以后面临后果。在90年代末,我不得不用Informix Universal Server web blade(又名Illustra web blade)编写几个网站 对于任何不了解这种恶劣环境的人来说,这迫使你使用我见过的最奇怪的语言。正如乔尔·斯波尔斯基所描述的那样 当它运行时,它被证明是我见过的唯一一种不是图灵等价物的编程语言,如果你可以想象的话 这里有更多 以及“简单”if条件的示例:
cond=$(OR,$(NXST,$email),$(NXST,$name),$(NXST,$subject))
它可怕的一个例子是它没有循环。任何类型的。通过创建一个查询并遍历它的行,可以破解循环功能,但这是如此错误,让我感到恶心
编辑:我已经找到了一个完整的代码示例。瞧:
<HTML>
<HEAD><TITLE>WINSTART bug</TITLE></HEAD>
<BODY>
<!--- Initialization --->
<?MIVAR NAME=WINSIZE DEFAULT=4>$WINSIZE<?/MIVAR>
<?MIVAR NAME=BEGIN DEFAULT=1>$START<?/MIVAR>
<!--- Definition of Ranges ---->
<?MIVAR NAME=BEGIN>$(IF,$(<,$BEGIN,1),1,$BEGIN)<?/MIVAR>
<?MIVAR NAME=END>$(+,$BEGIN,$WINSIZE)<?/MIVAR>
<!--- Execution --->
<TABLE BORDER>
<?MISQL WINSTART=$BEGIN WINSIZE=$WINSIZE
SQL="select tabname from systables where tabname like 'web%'
order by tabname;">
<TR><TD>$1</TD></TR>
<?/MISQL>
</TABLE>
<BR>
<?MIBLOCK COND="$(>,$BEGIN,1)">
<?MIVAR>
<A HREF=$WEB_HOME?MIval=WINWALK&START=$(-,$BEGIN,$WINSIZE)&WINSIZE=$WINSIZE>
Previous $WINSIZE Rows </A> $(IF,$(<,$MI_ROWCOUNT,$WINSIZE), No More Rows, )
<?/MIVAR>
<?/MIBLOCK>
<?MIBLOCK COND="$(AND,$(>,$END,$WINSIZE),$(>=,$MI_ROWCOUNT,$WINSIZE))">
<?MIVAR>
<A HREF=$WEB_HOME?MIval=WINWALK&START=$END&WINSIZE=$WINSIZE>
Next $WINSIZE Rows </A>
<?/MIVAR>
<?/MIBLOCK>
</BODY>
温斯特虫
曾几何时,我在一家小型编程公司工作,有一位客户拥有一个遗留的COBOL应用程序,他们希望将其转换为Visual Basic。我从来都不是VB的粉丝,但这并不是一件不合理的事情
除了他们希望保留接口,并使其功能与现有版本相同之外
因此,我们被迫制作了一个VB应用程序,它由一个表单和大约100个文本输入框组成,所有这些都是完全被动的。除了右下角的一个,它有一个几千行长的事件处理程序,当您退出字段时,它处理所有输入框中的所有数据。一个在两个应用程序之间交换信息的程序。不用说,这两个程序之间的数据格式不同,用例不同,甚至在不同的应用程序之间意味着不同的东西。有大量的特殊情况和“不错”的转换:
if (InputString == "01"))
{ Output.ClientID = Input.Address;}
else if ((InputString = "02") && (Input.Address == null) &&(Input.ClientID < 1300))
{ Output.ClientID = Input.ClientID +1;}
else if (Input.ClientID = 0 )
{ Input.ClientID = 2084; }
if(InputString==“01”))
{Output.ClientID=Input.Address;}
else如果((InputString=“02”)&&&(Input.Address==null)&&(Input.ClientID<1300))
{Output.ClientID=Input.ClientID+1;}
else if(Input.ClientID=0)
{Input.ClientID=2084;}
上百行
这是一个大型制造厂的内部使用。。。我在那里工作的大部分时间都在哭。我在一家保险管理公司工作。我们早在21世纪初就处理了在线保险申请,当时在线报价和申请更为罕见
系统中最糟糕的部分是我们必须将信息发送回承销公司。虽然我们可以收集大量精彩的数据,但我们被迫将所有这些数据写入一个PDF格式,该格式是基于有人可以手工填写的物理格式。然后,我们将获取数据的一小部分,并将该数据与填写的申请一起发送给承销商。应用程序PDF将进入他们的文档成像系统,数据将被放置在他们古老的固定宽度数据库中。就承销商而言,大部分数据仅存在于该PDF中
我们开玩笑说,承销商打印PDF表格可能是为了将其扫描到文档成像系统中。如果他们这样做了,我也不会感到惊讶。没错。“丑陋”的定义肯定会改变。丑陋永远是昨天。:-)我能在你家工作吗