百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

坑爹代码集锦让你笑出肚子疼的史上最坑爹代码片段仓库!

toyiye 2024-05-19 19:35 24 浏览 0 评论

介绍

编程世界充满了创造力和智慧,但有时候也会出现一些令人啼笑皆非的代码。这个开源仓库就是为了收集这些史上最坑爹的代码片段而诞生的,它是一个让你咆哮大笑的地方,让你明白到编码下限到底有多低!

仓库信息

仓库地址为:https://gitee.com/gitee-community/bullshit-codes,这个是 Gitee 官方开源的项目,其 README.md 介绍如下:

时隔四年,bullshit-codes 仓库再次面向所有开发者征集你们遇到的坑爹代码!

这四年里,Gitee 见证了各种技术栈的更迭,陪伴了无数开发者的技术成长之路,也看到越来越多的优秀开源项目被人们所熟知。

当然,我们也相信,这四年里出现过多少优雅的代码,就出现过多少坑爹的代码。

我们坚信:The most bullshit codes are yet to come,把那些让你哭笑不得、怀疑人生、血压升高的代码展示出来吧,庆祝我们的错误,让我们一起从中学习,共同提升。

坑爹代码2.0

当然官方还发起了个“坑爹代码2.0有奖征集活动”,这确实有点意思... 那我在这里列一下这些获奖名单。

  1. 「还!有!谁!!!」奖

@Lv丶小胖:这绝对是世上最快的提醒商家发货功能代表作如下:

这绝对是世上最快的提醒商家发货功能.

事情的起因:
同事做了一个商城, 马上就要上线了, 客户说还需要增加一个, 提醒商家发货的功能,然后就有了下面一段代码
然后过了几天,客户问: 为什么点击这个提醒商家的功能没什么用呢
我心里想: 这要是有用才是见了鬼了呢

// 页面按钮
// <button id="reminder">提醒商家</button>

// 获取按钮元素  
var reminder = document.getElementById("reminder");  
  
// 添加点击事件监听器  
reminder.addEventListener("click", function() {  
  // 弹窗提示  
  alert("已提醒商家,尽快为您发货!");  
});

  1. 「求求你转行吧」奖

获奖人员:@polarloves,代表作如下:

  • 他尽力了,我无花可说(这是原pr标题)
    //业务逻辑,给key值+1,redisUtils.incr(key)即可搞定,满满工作量,他尽力了
	public Integer addAlarmPeriod(String alarmRuleId) {
        String alarmPeriodKey = "ALARM_PERIOD_" + alarmRuleId ;
        Integer alarmPeriodVal = 1;
        if(redisUtils.hasKey(alarmPeriodKey)) {
            String alarmPeriodValStr = String.valueOf(redisUtils.get(alarmPeriodKey));
            if(!StringUtils.isEmpty(alarmPeriodValStr)) {
                alarmPeriodVal = Integer.parseInt(alarmPeriodValStr) + 1;
                redisUtils.set(alarmPeriodKey, alarmPeriodVal);
            } else {
                redisUtils.set(alarmPeriodKey,alarmPeriodVal);
            }
        } else {
            redisUtils.set(alarmPeriodKey,alarmPeriodVal);
        }
        return alarmPeriodVal;
    }
  • if else 的正确用法
	// 业务代码
Update update;
if (operationType.equals(AuditResultOperationType.getStart())) {
  update = new Update().set("XXX", AuditResultOperationType.getStart());
} else if (operationType.equals(AuditResultOperationType.getStopBystart())) {
  update = new Update().set("XXX", AuditResultOperationType.getStopBystart());
} else if (operationType.equals(AuditResultOperationType.getImExe())) {
  update = new Update().set("XXX", AuditResultOperationType.getImExe());
} else if (operationType.equals(AuditResultOperationType.getStopByimExe())) {
  update = new Update().set("XXX", AuditResultOperationType.getStopByimExe());
} else {  //删除
  update = new Update().set("XXX", AuditResultOperationType.getDel());
}
// 这是类....			
public class AuditResultOperationType {
    public static final String start = "启用";
    public static final String stopBystart = "停用";
    public static final String imExe = "立即执行";
    public static final String stopByimExe = "停止";
    public static final String del = "删除";

    public static Integer getStart() {
        return  0;
    }

    public static Integer getStopBystart() {
        return 1;
    }

    public static Integer getImExe() {
        return 2;
    }

    public static Integer getStopByimExe() {
        return 3;
    }

    public static Integer getDel() {
        return 4;
    }


}

  • 只要我不抛出异常,那我就不会有问题
    /**
     * 业务需求:调用第三方接口,把结果存入缓存。
     */
    @Cacheable(key = "#userId")
    @Override
    public List<ResourceEntity> userResources(String userId) {
        List<ResourceEntity> resourceEntities = new ArrayList<>();
        // 调用第三方接口...
        JSONObject parseObject = JSONObject.parseObject(data);
        if(parseObject.getInteger("code") == 200){
            List list = JSONObject.parseObject(JSONObject.toJSONString(parseObject.get("xxx")), List.class);
            for (Object item: list) {
                ResourceEntity resourceEntity = new ResourceEntity();
                JSONObject.parseObject(JSONObject.toJSONString(ckeCluster));
                item.setId(parseObject.getString("ckecluster_id"));
                item.setName(parseObject.getString("cluster_name"));
                resourceEntities.add(resourceEntity);
            }
        }
        // 即使第三方接口出错了,我也不会抛出异常,数据虽然少了,但是我才不会有影响呢。
        return resourceEntities;
    }	
  • 图形大师
xbean.Equip equipttrOne = ((Equipitem) ei).getEquipAttr();
List<Integer> diamondsOne = equipAttrOne.getDiamonds();
for (int diamondId : diamondsone) {
		if(36600 == diamondId
				|| 36601 == diamondId
				|| 36602 == diamondId
				|| 36603 == diamondId
				|| 36604 == diamondId
				|| 36605 == diamondId
				|| 36606 == diamondId
				|| 36607 == diamondId
				|| 36608 == diamondId
				|| 36609 == diamondId
				|| 36610 == diamondId
				|| 36611 == diamondId
				|| 36612 == diamondId
				|| 36613 == diamondId
				|| 36614 == diamondId
				|| 36615 == diamondId
				|| 36616 == diamondId
				|| 36617 == diamondId
				|| 36618 == diamondId
				|| 36619 == diamondId
				|| 36620 == diamondId
				|| 36621 == diamondId
				|| 36622 == diamondId
				|| 36623 == diamondId){
			MessageMgr.psendMsgotify(this.roleId ,196692,nul1);
			return false;
		}
}
  • 域名判断代码(部分)
public class MR_DomainIpTest {
    //读取逗号分隔符map
    public static class dhMaper extends Mapper<Object, Text, Object, Text>{
        private static final String sep = "|";
        String domain_name = new String();
        String ip = new String();
        String datatime = new String();
        String line=new String();
        String[] fields;
        String status=new String();
        String res=new String();
        String reslist=new String();
        String domain_name1="xxx.com";
        String domain_name2="xxx.com";
        String domain_name3="xxx.com";
        String domain_name4="xxx.com";
        String domain_name5="xxx.com";
        String domain_name6="xxx.com";
        String domain_name7="xxx.com";
        String domain_name8="xxx.com";
        String domain_name9="xxx.com";
        String domain_name10="xxx.com";
        String domain_name11="xxx.com";
        String domain_name12="xxx.com";
        String domain_name13="xxx.com";
        String domain_name14="xxx.com";
        StringBuilder keySB = new StringBuilder();// Mapper输出Key Buffer
        StringBuilder valueSB = new StringBuilder();// Mapper输出value Buffer
        MR_demo02.KeyPair mapKey = new MR_demo02.KeyPair();// Map输出key值
        Text mapValue = new Text();// Map输出value值

        @Override
        protected void map(Object key, Text value, Context context) throws IOException, InterruptedException {
            line = value.toString();

            fields = line.split("\\|", -1);// 分割数据
            if(fields.length<11){
                return;
            }
            domain_name=fields[2].trim();
            ip=fields[5].trim();
            datatime=fields[8].trim().substring(0,14);
            status=fields[10].trim();
            res=fields[7].trim();
            reslist=res.split(";",-1).toString();
            if(domain_name.length()<3 || "null".equals(domain_name) ||"".equals(res) || !"r".equals(status)|| reslist.length()<2){
                return;
            }
            if(!domain_name.contains(domain_name1) && !domain_name.contains(domain_name2) && !domain_name.contains(domain_name3) &&
                    !domain_name.contains(domain_name4) && !domain_name.contains(domain_name5) && !domain_name.contains(domain_name6)
                    && !domain_name.contains(domain_name7) && !domain_name.contains(domain_name8) && !domain_name.contains(domain_name9)
                    && !domain_name.contains(domain_name10) && !domain_name.contains(domain_name11) && !domain_name.contains(domain_name12)
                    && !domain_name.contains(domain_name13) && !domain_name.contains(domain_name14) ){
                return;
            }
            keySB.setLength(0);
            keySB.append(domain_name).toString();

            //开始时间

            valueSB.setLength(0);
            valueSB.append(domain_name).append(sep);
            valueSB.append(ip).append(sep);
            valueSB.append(datatime);

            mapValue.set(valueSB.toString());
            context.write(keySB, mapValue);


        }
    }
    //读取空格分隔符map

    //reduce函数
    public static class myReducer extends Reducer<Text,Text,Text,Text>{
        private static final String sep = "|";
        String domain_name = new String();
        String ip = new String();
        String datatime = new String();
        String line=new String();
        String[] fields;
        public void reduce(Text key, Text values, Context context)
                throws IOException, InterruptedException {
            context.write(values,null);
        }
    }
  
}
  • AI聊天机器人

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.err.println(scanner.nextLine().replace("吗", "").replace('?', '!'));
        }
    }

  1. 「公开处刑」名单

@yufire:我就修改一下我的Bean,很合理吧,为什么系统崩了?呜呜呜~

import cn.hutool.core.util.RandomUtil;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.reflection.SystemMetaObject;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

/**
 * @author Yufire
 * @date 2023/7/20 10:51
 * 修改一下我那可爱的Bean
 */
@Component
public class SpringBeanUpdate implements ApplicationContextAware {


    private static final String MY_BEAN_NAME = "MyBean.java";

    /**
     * 我真的只是想修改一下我自己的bean里边的属性
     *
     * @param applicationContext spring上下文对象
     * @throws BeansException 抛异常?不可能的
     */
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        String[] beanNameList = applicationContext.getBeanDefinitionNames();
        for (String beanName : beanNameList) {
            // 判断一下bean名称是不是我的那个bean,很合理吧~
            if (!beanName.equals(MY_BEAN_NAME)) {
                // 获取一下我的bean
                Object beanInstance = applicationContext.getBean(beanName);
                // 获取一下反射操作对象,我就喜欢用反射,强转什么的不存在
                MetaObject beanMetaObject = SystemMetaObject.forObject(beanInstance);
                // 循环所有的setter方法
                for (String setterName : beanMetaObject.getSetterNames()) {
                    // 给我的bean覆一下值,随机值,我喜欢
                    beanMetaObject.setValue(setterName, getRandomValue(beanMetaObject.getSetterType(setterName)));
                }
                // 打日志?不可能的
                // log.out不了("哈哈哈")
            }
        }
    }

    /**
     * 获取一个随机值
     *
     * @param type 类型
     * @return 随机值
     */
    public Object getRandomValue(Class<?> type) {
        if (type.equals(String.class)) {
            return RandomUtil.randomString(15);
        } else if (type.equals(Integer.class)) {
            return RandomUtil.randomInt(100);
        } else if (type.equals(Long.class)) {
            return RandomUtil.randomLong(100);
        } else if (type.equals(Double.class)) {
            return RandomUtil.randomDouble(100);
        } else if (type.equals(Float.class)) {
            return RandomUtil.randomDouble(100);
        } else {
            return null;
        }
    }

}

@绫织梦:高中时期,看同学写的奇葩代码里起的逆天缩写类名

/*
我高中时期,帮同学改他的日记本程序要去参赛,里边有一个功能是调用一个网络API来分析每天的文本所表达的心情
但是他类名Analyze非要写成缩写……就像下面的代码那样,就导致我调用这几个方法的时候十分想笑!!!!
T_T 本来只是缩写也没啥,但是配上那几个方法……

之前写过一篇回答说过这个事情:
说一下程序员接手别人烂代码能有多烂,是怎样的体验? - 绫织梦CoronaZero的回答 - 知乎
https://www.zhihu.com/question/546635927/answer/2606756988

*/

public class Anal {
    public static bool insert() {
       // DO Something...
    }
    public static bool check() {
       // DO Something...
    }
    public static bool delete() {
       // DO Something...
    }
    public static bool update() {
       // DO Something...
    }
    public static bool save() {
       // DO Something...
    }
}

英语很差的我去翻译了下:


额...

@杰里:一个sql查只一个字段。满满的工作量

@Service
public class SupervisionEnforceStrengthServiceImpl implements SupervisionEnforceStrengthService {

@Override
    public ZFJDGZVO zfjdgz(supervisionEnforceStrengthDTO1 dto) {
        ZFJDGZVO zfjdgzvo = new ZFJDGZVO();
        Integer allNum = zfjdgzMapper.selectAllNum(dto);
        Integer dailyNum = zfjdgzMapper.selectDailyNum(dto);
        Integer specialNum = zfjdgzMapper.selectSpecialNum(dto);
        Integer finishNum = zfjdgzMapper.selectIsFinishNum(dto);
        Integer cloudNum = zfjdgzMapper.selectCloudNum(dto);
        zfjdgzvo.setAllNum(allNum);
        zfjdgzvo.setDailyNum(dailyNum);
        zfjdgzvo.setSpecialNum(specialNum);
        //重点问题检出率-日常检查
        Integer q11 = zfjdgzMapper.q11(dto);
        Integer q12 = zfjdgzMapper.q12(dto);
        Integer q13 = zfjdgzMapper.q13(dto);
        //重点问题检出率-随机监听检查
        Integer q31 = zfjdgzMapper.q31(dto);
        Integer q32 = zfjdgzMapper.q32(dto);
        Integer q33 = zfjdgzMapper.q33(dto);
        //重点问题检出率-异地监督检查
        Integer q41 = zfjdgzMapper.q41(dto);
        Integer q42 = zfjdgzMapper.q42(dto);
        Integer q43 = zfjdgzMapper.q43(dto);
        
        //省略业务代码 (给zfjdgzvo赋值)

        return zfjdgzvo;
    }
}


//上面的q11 ,q12方法的sql是这样的。其他的方法类似
  <select id="q11" resultType="java.lang.Integer">
        SELECT IFNULL(SUM(DAILY_ALL_NUM),0)
        FROM "SALN_MID_DATA"."TS_ZFJDGZ"
        <where>
            <if test="dto.city != null and dto.city != ''">
                AND CITY_CODE = #{dto.city}
            </if>
            <if test="dto.district != null and dto.district != ''">
                AND DISTRICT_CODE = #{dto.district}
            </if>
        </where>
    </select>
    <select id="q12" resultType="java.lang.Integer">
        SELECT IFNULL(SUM(DAILY_KEY_QUESTION_NUM),0)
        FROM "SALN_MID_DATA"."TS_ZFJDGZ"
        <where>
            <if test="dto.city != null and dto.city != ''">
                AND CITY_CODE = #{dto.city}
            </if>
            <if test="dto.district != null and dto.district != ''">
                AND DISTRICT_CODE = #{dto.district}
            </if>
        </where>
    </select>

@呀吖呀吖呀:将dto中的type转换为时间的骚操作

import org.apache.commons.lang3.StringUtils;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class TimeConversion  {

    private void convertTypeToTime(UserCourseUsageDetailParamDto userCourseUsageDetailParamDto, int type, String startTime, String endTime) {
        try {
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            if(type ==6){
                DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
                Calendar cal = Calendar.getInstance();
                if(!StringUtils.isEmpty(startTime)){
                    cal.setTime(dateFormat1.parse(startTime));
                    userCourseUsageDetailParamDto.setStartDate(dateFormat.format(cal.getTime()));
                }
                if(!StringUtils.isEmpty(endTime)){
                    userCourseUsageDetailParamDto.setEndDate(dateFormat.format(dateFormat1.parse(endTime)));
                }
            }else {
                Map<String,String> dateMap = getDateByType(type);
                userCourseUsageDetailParamDto.setStartDate(dateMap.get("startDate"));
                userCourseUsageDetailParamDto.setEndDate(dateMap.get("endDate"));
            }
        } catch (ParseException e) {
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date startDate = new Date();
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(startDate);
            String startStr = null , endStr = null;
            endStr=dateFormat.format(startDate);
            calendar.add(Calendar.YEAR, 0);
            calendar.set(Calendar.DAY_OF_YEAR, 1);
            startStr = dateFormat.format(calendar.getTime());
            userCourseUsageDetailParamDto.setStartDate(startStr);
            userCourseUsageDetailParamDto.setEndDate(endStr);
        }
    }

    private Map<String, String> getDateByType(int type){
        Map<String,String> seDate = new HashMap<>();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date startDate = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(startDate);
        String startStr = null , endStr = null;
        if(type==0){
            endStr=dateFormat.format(startDate);
            calendar.add(Calendar.DATE,-1);
            startStr = dateFormat.format(calendar.getTime());
        }else if(type==1){
            endStr=dateFormat.format(startDate);
            calendar.add(Calendar.DATE,-7);
            startStr = dateFormat.format(calendar.getTime());
        }else if(type==2){
            endStr=dateFormat.format(startDate);
            calendar.add(Calendar.DATE,-30);
            startStr = dateFormat.format(calendar.getTime());
        }else if(type==3){
            endStr=dateFormat.format(startDate);
            calendar.add(Calendar.MONTH, 0);
            calendar.set(Calendar.DAY_OF_MONTH, 1);
            startStr = dateFormat.format(calendar.getTime());
        }else if(type==4){
            DateFormat dateFormat1 = new SimpleDateFormat("MM-dd");
            DateFormat dateFormat2 = new SimpleDateFormat("yyyy");
            endStr=dateFormat.format(startDate);
            String newStr =  dateFormat1.format(startDate);
            if(Integer.valueOf(newStr)>=201 && Integer.valueOf(newStr) <= 813){
                startStr = dateFormat2.format(startDate)+"0201";
            }else {
                if(Integer.valueOf(newStr)>=101){
                    startStr = (Integer.valueOf(dateFormat2.format(startDate))-1)+"0814";
                }else {
                    startStr = dateFormat2.format(startDate)+"0814";
                }
            }
        }else if(type==5){
            endStr=dateFormat.format(startDate);
            calendar.add(Calendar.YEAR, 0);
            calendar.set(Calendar.DAY_OF_YEAR, 1);
            startStr = dateFormat.format(calendar.getTime());
        }
        seDate.put("startDate",startStr);
        seDate.put("endDate",endStr);
        return seDate;
    }
}

@lzy6666666:公司高级JAVA工程师的业务代码,高!实在是高!

太多了,贴部分吧,感兴趣的点 ->「链接」,看得我强迫症又又又犯了

  List<JSONObject> info = Collections.synchronizedList(new ArrayList<>());
        shopIds.stream().forEach(shopId -> {
            JSONObject json = new JSONObject();
            StringBuilder sb = new StringBuilder();
            bbs.stream().filter(bs -> Objects.equals(shopId, bs.getShopId()) && "本地仓库".equals(bs.getStorageSxNm()))
                    .forEach(bs -> {
                        sb.append("'" + bs.getParentId() + "-" + bs.getIdKey() + "',");
                    });
            String cw = sb.length() > 0 ? sb.substring(0, sb.length() - 1) : null;
            if (StringUtils.isNotBlank(cw)) {
                json.put("FilterStringSql", "FStockId.FNumber in (" + cw + ")");
                json = JSONObject.parseObject(remotePurchaseService.queryStkInventory(json.toJSONString()));
                Boolean flag = json.getBoolean("flag");
                if (flag != null && flag) {
                    JSONArray infoArray = json.getJSONArray("info");
                    info.addAll(infoArray.toJavaList(JSONObject.class));
                }
            }
        });
        Map<String, Map<String, Long>> stockMap = new ConcurrentHashMap<>();
        info.stream().forEach(cw -> {
            String warehouseId = String.valueOf(cw.getString("warehouse_id"));
            Map<String, Long> goodsSkuIdStockMap = LinkUtils.getNewMap(stockMap.get(warehouseId));
            String goodsSkuIdStr = cw.getString("goods_sku_id");
            Long stock = LinkUtils.getZeroLongNotNull(goodsSkuIdStockMap.get(goodsSkuIdStr));
            stock += cw.getLong("s_amounts");
            goodsSkuIdStockMap.put(goodsSkuIdStr, stock);
            stockMap.put(warehouseId, goodsSkuIdStockMap);
        });
       
        Map<String, Map<String, SalesBySellerSkuVO>> salesBySellerSkuMap = listSalesBySellerSku();
     
        Map<String, Map<String, SalesByOperationCodeVO>> SalesByOperationCodeSellerSkuYesterdayMap = listSalesByOperationCodeSellerSkuYesterday();
        Map<String, LongAdder> codeYesterdaySumMap = new ConcurrentHashMap<>();
        SalesByOperationCodeSellerSkuYesterdayMap.forEach((key, codeMap) -> {
            if (StringUtils.isNotNull(codeMap)) {
                String keyof = String.valueOf(key);
                LongAdder sum = new LongAdder();
                codeMap.values().stream().forEach(vo -> {
                    if (Objects.equals(keyof, vo.getOperationCode())) {
                        sum.add(vo.getSum());
                    }
                });
                codeYesterdaySumMap.put(keyof, sum);
            }
        });

        Map<String, Map<String, SalesByOperationCodeVO>> salesByOperationCodeMap = listSalesByOperationCode();
        Map<String, LongAdder> codeSumMap = new ConcurrentHashMap<>();
        salesByOperationCodeMap.forEach((key, codeMap) -> {
            if (StringUtils.isNotNull(codeMap)) {
                String keyof = String.valueOf(key);
                LongAdder sum = new LongAdder();
                codeMap.values().stream().forEach(vo -> {
                    if (Objects.equals(keyof, vo.getOperationCode())) {
                        sum.add(vo.getSum());
                    }
                });
                codeSumMap.put(keyof, sum);
            }
        });

@伊成:为了应付公司每月统计代码行数,同事的写法也是醉了...

package com.data.core;

import com.data.core.mysql.SaveDataDao;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;


@Component
public class DuplicatedCode {

    @Resource
    private SaveDataDao saveDataDao;

     
    /**
     * 保存各个景区均值数据
     *   
     * 为了应付公司每月统计代码行数,同事的写法也是醉了...
     */
    public void scenicPassengerFlowVolumnData(){
        Calendar c = Calendar.getInstance();
        String marineaquariumNo="0";
        String internationalTouristResortNo="0";
        String  wildlifeparkNo="0";
        String orientalpearltowerNo="0";
        String haichangoceanparkNo="0";
        String shanghaiScienceTechnologyMuseumNo="0";
        String centuryparkNo="0";
        String jinmaoNo="0";
        String huanqiuNo="0";
        String baolanzhongxinNo="0";
        String xianhuagangNo="0";
        String xinchangguzhenNo = "0";
        String shanghaizhidianNo = "0";
        String hanghaiNo = "0";
        String xunyicaoNo = "0";
        String zhoupuhuahaiNo = "0";
        String binhaislgyNo = "0";
        String zhongyiyaobwgNo = "0";

        /**
         *  省略业务代码
         */

        // 海洋水族馆
        Map<String, Object> marineaquarium = new HashMap<>();
        marineaquarium.put("insertdate", c.getTime());
        marineaquarium.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        marineaquarium.put("total",marineaquariumNo);
        marineaquarium.put("id", UUID.randomUUID().toString());
        marineaquarium.put("businesstype", "均值");
        saveDataDao.insertData("t_marineaquarium", marineaquarium);
        // 国际旅游度假区
        Map<String, Object> internationalTouristResort = new HashMap<>();
        internationalTouristResort.put("insertdate", c.getTime());
        internationalTouristResort.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        internationalTouristResort.put("total",internationalTouristResortNo);
        internationalTouristResort.put("id", UUID.randomUUID().toString());
        internationalTouristResort.put("businesstype", "均值");
        saveDataDao.insertData("t_internationaltouristresort", internationalTouristResort);
        // 野生动物园
        Map<String, Object> wildlifepark = new HashMap<>();
        wildlifepark.put("insertdate", c.getTime());
        wildlifepark.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        wildlifepark.put("total",wildlifeparkNo);
        wildlifepark.put("id", UUID.randomUUID().toString());
        wildlifepark.put("businesstype", "均值");
        saveDataDao.insertData("t_wildlifepark", wildlifepark);
        // 东方明珠塔
        Map<String, Object> orientalpearltower = new HashMap<>();
        orientalpearltower.put("insertdate", c.getTime());
        orientalpearltower.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        orientalpearltower.put("total",orientalpearltowerNo);
        orientalpearltower.put("id", UUID.randomUUID().toString());
        orientalpearltower.put("businesstype", "均值");
        saveDataDao.insertData("t_orientalpearltower", orientalpearltower);
        // 海昌海洋公园
        Map<String, Object> haichangoceanpark = new HashMap<>();
        haichangoceanpark.put("insertdate", c.getTime());
        haichangoceanpark.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        haichangoceanpark.put("total",haichangoceanparkNo);
        haichangoceanpark.put("id", UUID.randomUUID().toString());
        haichangoceanpark.put("businesstype", "均值");
        saveDataDao.insertData("t_haichangoceanpark", haichangoceanpark);
        // 上海科技馆
        Map<String, Object> ShanghaiScienceTechnologyMuseum = new HashMap<>();
        ShanghaiScienceTechnologyMuseum.put("insertdate", c.getTime());
        ShanghaiScienceTechnologyMuseum.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        ShanghaiScienceTechnologyMuseum.put("total",shanghaiScienceTechnologyMuseumNo);
        ShanghaiScienceTechnologyMuseum.put("id", UUID.randomUUID().toString());
        ShanghaiScienceTechnologyMuseum.put("businesstype", "均值");
        saveDataDao.insertData("t_shanghaiscienceTechnologymuseum", ShanghaiScienceTechnologyMuseum);
        // 世纪公园
        Map<String, Object> centurypark = new HashMap<>();
        centurypark.put("insertdate", c.getTime());
        centurypark.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        centurypark.put("total",centuryparkNo);
        centurypark.put("id", UUID.randomUUID().toString());
        centurypark.put("businesstype", "均值");
        saveDataDao.insertData("t_centurypark", centurypark);
        // 金茂
        Map<String, Object> jinmaoMap = new HashMap<>();
        jinmaoMap.put("insertdate", c.getTime());
        jinmaoMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        jinmaoMap.put("total",jinmaoNo);
        jinmaoMap.put("id", UUID.randomUUID().toString());
        jinmaoMap.put("businesstype", "均值");
        saveDataDao.insertData("t_jinmao", jinmaoMap);
        // 环球
        Map<String, Object> huanqiuMap = new HashMap<>();
        huanqiuMap.put("insertdate", c.getTime());
        huanqiuMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        huanqiuMap.put("total",huanqiuNo);
        huanqiuMap.put("id", UUID.randomUUID().toString());
        huanqiuMap.put("businesstype", "均值");
        saveDataDao.insertData("t_huanqiu", huanqiuMap);
        // 上海国际博览中心
        Map<String, Object> baolanzhongxinMap = new HashMap<>();
        baolanzhongxinMap.put("insertdate", c.getTime());
        baolanzhongxinMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        baolanzhongxinMap.put("total",baolanzhongxinNo);
        baolanzhongxinMap.put("id", UUID.randomUUID().toString());
        baolanzhongxinMap.put("businesstype", "均值");
        saveDataDao.insertData("t_bolanzhongxin", baolanzhongxinMap);
        // 上海鲜花港
        Map<String, Object> xianhuagangMap = new HashMap<>();
        xianhuagangMap.put("insertdate", c.getTime());
        xianhuagangMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        xianhuagangMap.put("total",xianhuagangNo);
        xianhuagangMap.put("id", UUID.randomUUID().toString());
        xianhuagangMap.put("businesstype", "均值");
        saveDataDao.insertData("t_xianhuagang", xianhuagangMap);
        // 新场古镇
        Map<String, Object> xinchangguzhenMap = new HashMap<>();
        xinchangguzhenMap.put("insertdate", c.getTime());
        xinchangguzhenMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        xinchangguzhenMap.put("total",xinchangguzhenNo);
        xinchangguzhenMap.put("id", UUID.randomUUID().toString());
        xinchangguzhenMap.put("businesstype", "均值");
        saveDataDao.insertData("t_xinchangguzhen", xinchangguzhenMap);
        // 上海之巅观光厅
        Map<String, Object> shanghaizhidianMap = new HashMap<>();
        shanghaizhidianMap.put("insertdate", c.getTime());
        shanghaizhidianMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        shanghaizhidianMap.put("total",shanghaizhidianNo);
        shanghaizhidianMap.put("id", UUID.randomUUID().toString());
        shanghaizhidianMap.put("businesstype", "均值");
        saveDataDao.insertData("t_shanghaizhidian", shanghaizhidianMap);
        // 航海博物馆
        Map<String, Object> hanghaiMap = new HashMap<>();
        hanghaiMap.put("insertdate", c.getTime());
        hanghaiMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        hanghaiMap.put("total",hanghaiNo);
        hanghaiMap.put("id", UUID.randomUUID().toString());
        hanghaiMap.put("businesstype", "均值");
        saveDataDao.insertData("t_hanghaibowuguan", hanghaiMap);
        // 薰衣草公园
        Map<String, Object> xunyicaoMap = new HashMap<>();
        xunyicaoMap.put("insertdate", c.getTime());
        xunyicaoMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        xunyicaoMap.put("total",xunyicaoNo);
        xunyicaoMap.put("id", UUID.randomUUID().toString());
        xunyicaoMap.put("businesstype", "均值");
        saveDataDao.insertData("t_xunyicaogongyuan", xunyicaoMap);
        // 周浦花海
        Map<String, Object> zhoupuhuaMap = new HashMap<>();
        zhoupuhuaMap.put("insertdate", c.getTime());
        zhoupuhuaMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        zhoupuhuaMap.put("total",zhoupuhuahaiNo);
        zhoupuhuaMap.put("id", UUID.randomUUID().toString());
        zhoupuhuaMap.put("businesstype", "均值");
        saveDataDao.insertData("t_zhoupuhuahai", zhoupuhuaMap);
        // 滨海森林公园
        Map<String, Object> binhaislMap = new HashMap<>();
        binhaislMap.put("insertdate", c.getTime());
        binhaislMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        binhaislMap.put("total",binhaislgyNo);
        binhaislMap.put("id", UUID.randomUUID().toString());
        binhaislMap.put("businesstype", "均值");
        saveDataDao.insertData("t_binhaisenlingongyuan", binhaislMap);
        // 上海中医药博物馆
        Map<String, Object> zhongyiyaobwgMap = new HashMap<>();
        zhongyiyaobwgMap.put("insertdate", c.getTime());
        zhongyiyaobwgMap.put("xval",(c.get(Calendar.HOUR_OF_DAY)+1) + "时");
        zhongyiyaobwgMap.put("total",zhongyiyaobwgNo);
        zhongyiyaobwgMap.put("id", UUID.randomUUID().toString());
        zhongyiyaobwgMap.put("businesstype", "均值");
        saveDataDao.insertData("t_zhongyiyaobowuguan", zhongyiyaobwgMap);
    }

}

@hishuwei:winform程序路径写log文件

using System;

namespace Grab
{
    public class LogUtils
    {
        /// <summary>
        /// 本地log
        /// </summary>
        /// <param name="log"></param>
        /// <param name="type"></param>
        public static void WriteLog(String log, String type = "info")
        {
            try
            {
                string path = AppDomain.CurrentDomain.BaseDirectory + "/log/";
                DirectoryInfo info = new DirectoryInfo(path);
                if (!info.Exists) {
                    info.Create();
                }
                StreamWriter sw;
                FileInfo fi = new FileInfo(path + type + "_" + DateTime.Now.ToString("yyyyMMdd") + ".log");
                if (!fi.Exists) {
                    sw = fi.CreateText();
                } else {
                    sw = File.AppendText(fi.FullName);
                }
                sw.WriteLine("================" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "================");
                sw.WriteLine(log);
                sw.Close();
                sw.Dispose();
            }
            catch (Exception e)
            {
            }
        }
      
    }
}

@sahooz:论单机无联网App如何无痛升级数据库:升级数据库就删除所有表然后重建

用户保存的数据不值一提哈哈哈


public class MultiTableHelper extends SQLiteOpenHelper {

    // ......
    // 无关代码省略
    
    @Override
    public void onCreate(SQLiteDatabase db) {
        if (db != null) {
            if (tableNames != null && sqls != null) {
                for (int i = 0; i < tableNames.length; i++) {
                    db.execSQL("create table if not exists " + tableNames[i] + sqls[i]);
                }
            }
        }
    }

    // 数据库一旦升级就把所有数据表删除重新创建
    // 以下注释是原开发者的注释,他很清楚自己在干嘛...

    // 版本更新
    // 用于升级数据库,当Version 变动了,就会调用onUpgrade方法
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        if (db != null) {
            if (tableNames != null) {
                // 如果表存在就删除
                for (int i = 0; i < tableNames.length; i++) {
                    db.execSQL("drop table if exists" + tableNames[i]);
                }
                // 重新初始化
                onCreate(db);
            }
        }
    }


}

结尾

里面收集了22种语言的坑爹代码集合,大家感兴趣的可以去看下,它不仅能带给你娱乐,还能让你学习和避免一些常见的编程错误。无论你是想放松一下还是寻找学习资源,这个仓库都值得一看。

那么大家有没有遇到过坑爹的代码片段?请在评论中分享一下吧!

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码