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表格可能是为了将其扫描到文档成像系统中。如果他们这样做了,我也不会感到惊讶。

没错。“丑陋”的定义肯定会改变。丑陋永远是昨天。:-)我能在你家工作吗