glendal_2008 2008-11-06 21:04
浏览 229
已采纳

代码规范器,你们能搞定吗?


一、 代码规范器功能简介

代码规范器根据统一的配置文件,对指定的程序文件进行规范化调整。

配置文件体现了代码规范器的功能,描述了需要对程序文件进行何种统一规范化操作。由于配置文件是统一的,而程序文件却是不确定的,因此不需要把被规范化的程序文件标识放在配置文件中。

随着代码规范器功能的完善,配置文件也将随之更改其格式与填写规范。因此,配置文件应有版本号,以识别其不同的格式与填写规范。

配置文件的形式,可以是XML文件、纯文本文件、数据库等各种形式。但为了扩展性和小巧易用性,建议采用XML文件。配置文件的文件名由代码规范器的设计人员确定,固定不可变更。代码规范器中有且只有一个配置文件。

程序文件类型:JAVA源程序、目标程序。

规范化调整操作分为两类:

 正调整

根据配置文件的设置,在程序文件中的指定位置增加指定的内容。如果程序文件中的指定位置已经有指定的内容,代码规范器不再做增加动作。

 反调整

根据配置文件的设置,在程序文件中的指定位置删除指定的内容。如果程序文件中的指定位置没有指定的内容,代码规范器不再做删除动作。

二、 代码规范器0.1版功能清单

 增加类属性

在程序文件类内增加新的属性。

例如:

程序文件原来面貌:

public class DBCon {

private ResultSet rs;

……

}

增加后的程序文件:

public class DBCon {

private Connection con;

private ResultSet rs;

……

}

 增加类方法及代码

在程序文件类中增加新方法及代码。

例如:

程序文件原来面貌:

public class DBCon {

private ResultSet rs;

……

}

增加后的程序文件:

public class DBCon {

private ResultSet rs;

public DBCon() throws Exception {

connection();

}

……

}

 在类方法内指定位置增加代码

在程序文件类中指定的方法内的指定位置,增加代码。

在方法内的指定位置,分为两种:方法内的最前部和最后部。

三、 代码规范器使用方法

代码规范器的使用方法有两种:

 命令行方式

格式:代码规范器 程序文件 调整操作分类

其中,调整操作分类  “+”表示正调整

“-”表示负调整

例如,代码规范器的文件名为BUILD.EXE,程序文件的文件名TEST.JAVA,准备进行正调整,则命令行执行方式为:“BUILD TEST.JAVA +”。

 接口调用方式

接口调用方式是提供给应用程序调用的方式。应用程序通过实例化代码规范器封装好的一个类,然后调用其中的指定方法,将需要进行调整的程序文件文件名和调整操作分类传递给该方法,实现对程序文件的调整。

四、 要求

编写、提交设计文档、源代码、目标代码。另需附一个通过接口调用方式的例子代码。







一家公司笔试的题目,各位可以给点意见吗?

  • 写回答

3条回答 默认 最新

  • catstiger 2008-11-06 22:04
    关注

    我的想法是,换个公司面试。
    这么变态的题目,比MS还BT。
    如果真要做,建议用正则表达式。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 不良校长 2008-11-06 21:04
    关注

    拿这个作笔试? 是不是想到处找思想来了。 可是看看 很多open source的代码。 很多的。

    评论
  • sptzone 2008-11-06 21:13
    关注

    [quote]配置文件的形式,可以是XML文件、纯文本文件、数据库等各种形式。但为了扩展性和小巧易用性,建议采用XML文件。配置文件的文件名由代码规范器的设计人员确定,固定不可变更。代码规范器中有且只有一个配置文件。
    程序文件类型:JAVA源程序、目标程序。[/quote]

    [quote]编写、提交设计文档、源代码、目标代码。另需附一个通过接口调用方式的例子代码。 [/quote]

    感觉有些象找兼职的笔试题。

    如果使用XML,可以使用DOM或者SAX解析,需要定义一些正调整或者负调整,包括属性值和位置等

    [quote]正调整
    根据配置文件的设置,在程序文件中的指定位置增加指定的内容。如果程序文件中的指定位置已经有指定的内容,代码规范器不再做增加动作。
     反调整
    根据配置文件的设置,在程序文件中的指定位置删除指定的内容。如果程序文件中的指定位置没有指定的内容,代码规范器不再做删除动作。 [/quote]

    至于实现,我想并不是很难,只是需要确认代码规范器的规模,如果只是在指定的位置增加指定的内容,删除指定的内容并不是很难。

    另外问一下,如何确定指定位置没有指定的内容呢?是给定开始位置和结束位置以及希望的字符串吗?

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Qt 不小心删除了自带的类,该怎么办
  • ¥15 我需要在PC端 开两个抖店工作台客户端.(语言-java)
  • ¥15 有没有哪位厉害的人可以用C#可视化呀
  • ¥15 可以帮我看看代码哪里错了吗
  • ¥15 设计一个成绩管理系统
  • ¥15 PCL注册的选点等函数如何取消注册
  • ¥15 问一下各位,为什么我用蓝牙直接发送模拟输入的数据,接收端显示乱码呢,米思齐软件上usb串口显示正常的字符串呢?
  • ¥15 Python爬虫程序
  • ¥15 crypto 这种的应该怎么找flag?
  • ¥15 代码已写好,求帮我指出错误,有偿!