Tag: 软件构造

6 篇文章

thumbnail
软件构造课程总结
如果说,离散数学、算法设计这些课是教我们如何如何称为计算机科学家的话,软件构造则是教我们如何成为一个更好的码农而已。 在计算机学院之中有这样一种风气,将写代码的码农抽象化为��������‍��,而将计算机科学家抽象为����‍��。甚至有的人觉得软件构造这门课根本没有必要,毕竟以后是做����‍��的人,学��������‍��这些技术根本没有用…
thumbnail
愉快地写Java————Java库的开发以及发布
前言 众所周知,Java编程语言的各种语法十分繁琐,很多东西使用起来十分不方便。比如Java就没有属性这一功能,使用就非常麻烦。 比如,超级语言中: public string Name { get; set; } 在Java中要达到相同的效果,就只能这么写: private String _name; public String getName(…
thumbnail
软件构造实战!重构HIT-Schedule-Master-Core!
前言 依稀记得,很久以前做过一个课表软件咕咕咕。在寒假的时候,做了一些微笑的工作,将前端与后端的代码分离到两个仓库里,然后@FerdinandSukhoi(下称SDL)将库重新搞了一下,形成了新的版本,还在其基础上开发出了命令行客户端。 在学习了软件构造的课程之后,感觉很多地方写的问题很大,因此这次在原来的基础上进行小规模的重构,使其符合软件工程的…
thumbnail
语法啰嗦——我为什么讨厌Java(2)
楔子 上回,我们引出了超级语言,并且介绍了超级语言的一些特性,讲超级语言与Java进行对比,我们今天讲的深一点,从深层的方面了解一下为什么我讨厌Java。 语言先天劣势 泛型,真的有吗? 我们观察一下以下的Java代码: int sampleInt = 5; Integer sampleInteger = 5; List<int> in…
thumbnail
介绍“超级语言”——我为什么讨厌Java(1)
什么是超级语言 超级语言是一种说法,描述的是一种十分好用的语言,这种语言的功能丰富、开发效率高、在使用这种语言开发程序的时候使用者能赏心悦目。 试着对比以下不同语言实现相同功能的代码: class Point { public: int x; int y; std::string tag; Point(int xVal, int yVal, con…
thumbnail
软件构造实验模板
模板介绍 近日,我将软件构造实验中的一些共性的部分提取了出来,并且创建了一个仓库存放这个模板,以供以后使用。这个模板配置了gradle与GitHub Actions,能够开箱即用,适应实验硬性规定的目录结构,还能在远端编译完成之后下载编译出的Jar。由于这个模板采用的是WTFPL开源协议,所以其是不受任何限制的。 虽然在这个模板里,我写了一个REA…