社区
非技术区
帖子详情
刚进了一家公司,整日在违反了各种设计原则的代码中奋斗,郁闷,散分!
icecloud
2003-12-08 11:20:53
完全没有注释的文档
违反OCP等原则
没有使用接口
业务逻辑直接写在servlet中
最惨的是我还要修改。。
没办法,刚来当小崔阿
...全文
138
117
打赏
收藏
刚进了一家公司,整日在违反了各种设计原则的代码中奋斗,郁闷,散分!
完全没有注释的文档 违反OCP等原则 没有使用接口 业务逻辑直接写在servlet中 最惨的是我还要修改。。 没办法,刚来当小崔阿
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
117 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icecloud
2003-12-13
打赏
举报
回复
to jokerjava(冷血)
我就在留言里面随手写的,do是举个例子!
好了结贴了~~ 一人2块钱
aftarms
2003-12-12
打赏
举报
回复
我是新手,你们说的不太懂,但我想接分:)
hocus
2003-12-12
打赏
举报
回复
在以前的公司
拿到份国外公司的源码
完全使用servlet写的b/s应用,支持国际化,多数据库,
看得出来经过详细设计,因为继承关系很复杂
整个程序三百多个类,70多m,148个表,
要进行改造,我看的痛不欲生
hsupo
2003-12-12
打赏
举报
回复
XXX!很XXX!
这样的烂公司!
lu8088
2003-12-12
打赏
举报
回复
up,同情。
benwang6
2003-12-12
打赏
举报
回复
int id = (new Integer(request.getParameter("id")!=null && !"".equals(request.getParameter("id"))?request.getParameter("id"):"0")).intValue();
icecloud(冰云) 好强阿,哈哈,
谁来维护你的代码肯定会崩溃的,
哈哈哈,太有意思了
jokerjava
2003-12-12
打赏
举报
回复
refactoring之后是:
private boolean isParameterValidate(HttpServletRequest request, String param){
return request.getParameter(param)!=null&&!"".equals(request.getParameter(param);
}
private int getIntValue(HttpServletRequest request, String param){
return isParameterValidate(request,param)?
Integer.parseInt(request.getParameter(param))
: 0;
}
public void do(){
int id = getIntValue(request,"id");
}
这段代码也很危险
Integer.parseInt 方法是要抛出异常的
do可是关键字呦 楼主也有随手命名的习惯
凋零的老树
2003-12-12
打赏
举报
回复
我觉得也没什么啊?写代码不是为了给你看,也不是写代码而写代码,最终还是为了挣钱,挣钱要考虑的因素跟写好代码要考虑的因素不一样,挣钱要注意成本要低,时间要短,变化要适用客户任何的需求,所以很多的时候我们自己也会做一些急功近利的事情
比如:不写注释
axer
2003-12-12
打赏
举报
回复
靠.全TMD一个操行
zawx
2003-12-12
打赏
举报
回复
up
czzw
2003-12-12
打赏
举报
回复
同感
dailindl
2003-12-12
打赏
举报
回复
为了糊口,忍了吧
Spectrum
2003-12-11
打赏
举报
回复
:)
zuinbdename
2003-12-11
打赏
举报
回复
看了大家的讨论真是有意思。
给了我这还在念书的人很大启发啊
现在正学CMM 据说东软和中软做得不错
他们该不会也是应付了事吧?
qstqstqst
2003-12-11
打赏
举报
回复
▲
icecloud
2003-12-11
打赏
举报
回复
业务分析人员和编码设计人员要分开啊
老土豆T
2003-12-11
打赏
举报
回复
很多公司都这样(包括一些所谓的知名公司)
需求都做的复杂,业务也研究的很透彻。。。可真正一编码,都是又大又乱,做了一半,程序员了解的业务知识就走人了,混到别的公司,人家只管你做过什么,知道什么,,才不会看你以前写的代码的。
我也不晓得 iso9000 是怎么被通过,通过认证总归是有办法的。
dmhorse
2003-12-11
打赏
举报
回复
祝贺,又可自作主张了
grgh2000
2003-12-11
打赏
举报
回复
完全没有注释的文档
违反OCP等原则
没有使用接口
业务逻辑直接写在JSP中,更惨...
看看(我头晕了)这个只是一个类中的一个"小"方法:
public void process(HttpServletRequest request){
int curpage = 1;
String queryStr;
String sPagesize ;
long maxRecords;
long limitRecords;
DataPackage dp;
formName = request.getParameter("formName");
String reQuery = request.getParameter("reQuery");
String curpageStr = request.getParameter("curpage");
String condition =getValue(request,"condition");
String orderby = getValue(request,"orderby");
String groupby = getValue(request,"groupby");
seqName = PropertyUtil.getCNProperty(formName+".seqName");
table = PropertyUtil.getCNProperty(formName+".table");
qTable = PropertyUtil.getCNProperty(formName+".qTable");
String fields = PropertyUtil.getCNProperty(formName+".fields");
String pks = PropertyUtil.getCNProperty(formName+".pks");
orderby = (orderby==null)?PropertyUtil.getCNProperty(formName+".orderby"):orderby;
condition = (condition==null)?PropertyUtil.getCNProperty(formName+".condition"):condition;
groupby=(groupby==null)?"":groupby;
String isContinue = request.getParameter("isContinue");
reQuery=(reQuery==null)?"false":reQuery;
qTable = (qTable==null)?table:qTable;
condition=(condition==null||condition.equals(""))?"1=1":condition;
orderby=(orderby==null)?"":"order by "+orderby;
isContinue = (isContinue==null)?"false":isContinue;
sPagesize = request.getParameter("pagesize");
if(sPagesize==null)
sPagesize = (String)request.getAttribute("pagesize");
if(sPagesize==null)
sPagesize = PropertyUtil.getCNProperty("query.global.pagesize");
String lRecords = PropertyUtil.getCNProperty("query.global.limitRecords");
String mRecords = PropertyUtil.getCNProperty("query.global.maxRecords");
lRecords = (lRecords==null)?"500":lRecords;
mRecords = (mRecords==null)?"1000":mRecords;
limitRecords = Long.parseLong(lRecords);
maxRecords = Long.parseLong(mRecords);
String reqUri = request.getRequestURI();
int ind = reqUri.lastIndexOf("/");
String queryPage = reqUri.substring(ind+1);
HttpSession session = request.getSession(true);
try{
int pagesize = Constants.PAGE_SIZE;
if(sPagesize!=null||!sPagesize.equals(""))
{
pagesize = Integer.parseInt(sPagesize);
}
String oldFormName = (String)session.getAttribute("cur_page_formName");
if(reQuery.equalsIgnoreCase("true")||curpageStr==null||curpageStr.equals("")||curpageStr.equals(Constants.MAX_PAGES+""))
{
String sPk="";
String sPkTmp="";
if(pks!=null){
if(fields!=null&&fields.startsWith("pk,")){
String[] allPks = Utils.toArray(pks);
sPk = "'<input type=checkbox name=\"delrows\" value=\"";
sPkTmp = "";
for(int i=0;i<allPks.length;i++){
sPkTmp += " and "+allPks[i]+"='''"+Constants.DB_CONCAT_SMBL+allPks[i]
+Constants.DB_CONCAT_SMBL+"'''";
}
if(!sPkTmp.equals(""))
sPkTmp = sPkTmp.substring(5);
sPk += sPkTmp;
sPk += "\">'";
}
}
if(!sPk.equals(""))
fields = sPk+fields.substring(2);
String sAll = "select count(*) from "+qTable+" where "+condition;
queryStr = "select "+fields+" from "+qTable+" where "+condition+" and rownum<="+limitRecords+" "+orderby + groupby;
SqlUtil sqlUtil = new SqlUtil();
long allCounts = Long.parseLong(sqlUtil.query(sAll).getRow(0).getField(0).getValue());
if(isContinue.equalsIgnoreCase("false")){
if(allCounts>maxRecords){
status = 2;
msg = allCounts+"";
return ;
}
}
dp = sqlUtil.query(queryStr);
session.setAttribute("cur_page_formName",formName);
session.setAttribute("cur_page_querypage",queryPage);
session.setAttribute("cur_page",dp);
if(curpageStr==null||curpageStr.equals("")){
curpage = -1;
}
else{
curpage = Constants.MAX_PAGES;
}
}
else
{
dp = (DataPackage)session.getAttribute("cur_page");
formName = (String)session.getAttribute("cur_page_formName");
queryPage = (String)session.getAttribute("cur_page_querypage");
curpage = Integer.parseInt(curpageStr);
}
String tbHead = Utils.getValue("colsTbHead",formName);
sTitle = PageWriteUtil.writeTitle(dp,queryPage,pagesize,curpage);
sTable = PageWriteUtil.writeTable(dp,formName,tbHead,pagesize,curpage);
pageString = PageWriteUtil.getPage(dp,queryPage,formName,tbHead,pagesize,curpage);
status = 0;
msg = Constants.OPERATION_SUCESS;
}
catch(Exception ex){
status = 1;
msg = "["+Constants.OPERATION_FAILURE+"]"+ex.getMessage();
// ex.printStackTrace();
Log.error(ex);
}
}
icecloud
2003-12-11
打赏
举报
回复
refactoring之后是:
private boolean isParameterValidate(HttpServletRequest request, String param){
return request.getParameter(param)!=null&&!"".equals(request.getParameter(param);
}
private int getIntValue(HttpServletRequest request, String param){
return isParameterValidate(request,param)?
Integer.parseInt(request.getParameter(param))
: 0;
}
public void do(){
int id = getIntValue(request,"id");
}
加载更多回复(97)
Delpih 13.1控件之《AVP虚拟化系统》简要使用手册图片显示完整版.7z
Delpih 13.1控件之《AVP虚拟化系统》简要使用手册图片显示完整版.7z
java面试题集和笔试题汇总
代码
转载自:https://pan.quark.cn/s/a4b39357ea24 关于Java的面试资源、面试题库以及笔试题的集合资料,关于Java的面试资源、面试题库以及笔试题的集合资料,关于Java的面试资源、面试题库以及笔试题的集合资料,涵盖了基础面试问题、Java Web面试问题、JAVA面试题库.txt以及分布式相关面试问题的汇编.pdf。期待这些资料能够对您提供有效的支持!!
豆包DeepSeek收录优化系统 GEO关键词排名工具 企业AI搜索流量获客
核心功能全包含: 覆盖主流平台:支持DeepSeek、豆包、文心一言、腾讯元宝等六大模型。 AI智能创作:内置文章在线AI写作功能,内容源源不断。 精准获客:支持高检索量关键词筛选,锁定精准流量。 全自动发布:支持文章自动发布,对接权威媒体平台。 品牌定制:支持自建知识库、图片素材库,打造专属品牌形象。 数据透明:提供各大模型关键词反馈报表,效果看得见。 适用人群: 适用于工厂、企业、商务服务、销售经理等各行各业。 操作简单,支持月卡/年卡,灵活使用,低成本维持优化效果。
多步骤规范.md.md
多步骤规范.md.md
Java点餐系统源码压缩文件
打开链接下载源码: https://pan.quark.cn/s/2613365125e4 Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
Java点餐系统项目源
代码
非技术区
23,404
社区成员
70,512
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章