软工实践总结

1、回顾

一、 开学指望

1) 对比一下

软工实践项目课程的自我目标
开学的指望仍是比较简单的--懂得“android语言”--正确表述应该是“android开发过程”。然而事实上我好像是没有达到这个目标的,由于我临时选择了后端的开发!现实就是存在了不肯定性。不过这并不意味着我什么都没有学到,只是学到的是php的编程而非预期的android编程样而已。php

2) 提高

学习和使用的新软件:html

  • phpstudy。算做使用,不算学习,毕竟具体操做的东西太少了。掌握指数:+
  • phpstorm。php编程的优秀助手。掌握指数:++
  • typora。markdown编辑器。表示不怎么用,都是直接在网页敲的,不过能够markdown导出其余格式,还不错。掌握指数:+

学习和使用的新工具:mysql

  • Linux。服务器是Linux系统,那么简单的使用仍是必要的。掌握指数:+
  • Xshell。连接云服务器工具,挺好用的。掌握指数:++
  • git。差点忘了这个重头戏了。教程看了不少遍,这个工具确实很强大。可以简单使用吧。掌握指数:+++
  • phpUnit。php测试工具,怎么说呢,可能连初窥门径都没达到,随缘吧。掌握指数:+
  • SourceCounter。代码统计工具,临时用的。掌握指数:+

学习和使用的新语言和新平台:android

  • php。后台使用php处理数据。仅限简单的数据处理。掌握指数:++

完成的代码:1376行。(统计工具:SourceCounter)。git

掌握和学习的新方法:
Learning by Doing(作中学)sql

其余提高:shell

  • 敲代码的遇到问题后解决问题的耐心应该是大大地提升了吧。
  • 关于服务器的搭建和运做也有一丁点儿的了解。
  • 对ide有进一步的认识,例如workspace和project的概念。

2、经验总结

  • “作中学”这个学习方法很适合软工实践这门课程。更开始彻底不懂php编程,为了项目任务,简单地看了一些基础知识,而后在队友的指导下开始写,边写边学,不懂得的再慢慢查,或者问问队友,这样的学习效果还不错。不过这样或许对理论的掌握不够好,可是入门来讲很适用。
  • 代码出错了,能够有一个小小的记录,这样下次出现相似的错误就有可能很快找到问题所在。
  • 后台人员表示接口文档好重要的说,常常改接口文档,而后颇有可能致使键名对不上。改接口的话,要记得通知和同步!
  • 暂时以为git仍是好好学,学会用,貌似很不错。
  • 不要常常熬夜,熬夜伤身体,这个你们都晓得,可是却办不到。当你听到“某某猝死的时候”,你就懂得什么是恐惧了。
  • 任务赶不完?那估计是偷懒了。
  • 队友之间沟通好。
  • 遇到问题,有一些洋文的网站的也能够参考一下,例如:StackOverFlow(墙?)

3、建议

  • 下一届:软件工程课建议同时选修软工实践,软工实践强烈推荐栋哥。理由,栋哥的软工实践安排计划层次分明,能够参考栋哥博客本学期的安排状况,这样带来的好处就是因为他懂得学生的能力,因此他会合理安排做业,以便你们赶得上进度,以便你们不用由于拖延症而最后赶工去完成任务。还有栋哥说的,让你们比别人有更充足的时间去准备其余科目的复习,我以为他办到了(固然这点可能对有的同窗来讲不重要)。
  • 对开学初的期许(换句话说,这其实本身的检讨、悔恨。哈哈):大一的时候,更应该把追剧看小说的时间(或者说,剧能够追,小说能够看,可是无所事事的时间不该该无所事事)拿来刷慕课网或者网易云课堂,更推荐前者。

4、个人团队

我以为个人团队仍是很不错的。并非随口说说。数据库

  • 组长不是很厉害,可是态度超级积极啊,例如什么要完成什么文档,责无旁贷地去作,有任务组织你们一块儿开会解决。
  • 开会常常有笑声,帮主的功劳很大。
  • 还有帮主也超级积极,常常拦文档的任务,并且当时间要赶不及的时候还会帮队友一块儿作。
  • 阿常是个优秀的UI设计人员,认真、好学,并且好专心。
  • 小曹比较逗比,并且比较随性,和他讨论问题会很轻松。
  • 秋鑫也是颇有干劲,感受他的工做量超大,可是也能按时完成。
  • 我就比较有耐心吧,虽然有惰性,可是在队友的催工之下仍是很努力地作事的。
  • 没有出现不愉快的时候!虽然有队友犯错的时候(例如我),可是队友很宽容。

达到的阶段:构造阶段。编程

5、代码质量

感受本身的代码不怎么优秀。json

  1. 代码的命名问题
    从alpha到beta,有一部分的变量的命名不统一。例如:帖子id,在alpha的时候有时候叫messageId有时候叫postId,beta的时候叫作messageId;图片,picture和photo。这是因为数据库文档和接口文档的命名有出入致使的。还有大小写问题:username和userName,因为没有注意,因此两种命名在两个版本里面都有穿插。
  2. 代码缩进问题
    即便咱们的代码规范是有的,可是,一些我的习惯带来的缩进问题仍是没有严格执行,例如“if...else...”句式的缩进就极其混乱。
  3. 代码风格
    风格不统一。数据库语句有时候是赋值在一个变量里($sql),再经过“mysqli->querry($sql)”查询,可是有时候是直接把语句写在了参数里。
  4. 代码设计
    感受代码设计上不是特别科学。一个文件用来获取数据,一个类用来作全部操做,这样有点头重脚轻的感受。以获取帖子列表为例。
    用来作主要操做的类:(文件1)
<?php
/**
 * Created by PhpStorm.
 * User: linmouren
 * Date: 2016/11/10
 * Time: 21:29
 */
//写在前面
//修改于12月15日晚
//因为要传回发帖者的用户名和发帖者的头像,故另做修改,并且返回的帖子的信息有所缩减,不是返回所有帖子信息。
header("content-type:text/html; charset=utf-8");
class GetList
{
    public function getListTest($messageId = '',$postNum){
        $con = new mysqli('localhost','root','beijingkaoya','buyTogether');
        if($con->connect_error){
            die('Error : ('. $con->connect_errno .') '. $con->connect_error);
        }else{
            $con->query("SET NAMES utf8");
            if($messageId == 0){
                $con->query("SET NAMES utf8");
                $sql = "SELECT messageId,title,photo,postTime,User.userName,User.headPortait FROM User,Message WHERE Message.userName=User.userName AND state='正在进行' ORDER BY messageId DESC;";
                $result = $con->query($sql);
            }else{
                $con->query("SET NAMES utf8");
                $sql = "SELECT messageId,title,photo,postTime,User.userName,User.headPortait FROM User,Message WHERE Message.userName=User.userName AND messageId<$messageId AND state='正在进行' ORDER BY messageId DESC;";
                $result = $con->query($sql);
            }
            if($result->num_rows){
                $listNum = $postNum;//每次获取5条帖子
                while(($row = $result->fetch_assoc()) && $listNum--){
                    $data[] = $row;
                }
            }else{
                $data[] = null;
            }
            //$datajson = json_encode($data,JSON_UNESCAPED_UNICODE);
            $arr = array(
                'success' => true,
                'message' => '',
                'postsnum' => count($data),
                'data' => $data
            );
            echo json_encode($arr,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
        }
        mysqli_close($con);
    }
}

用来数据传送的文件(文件2)

<?php
/**
 * Created by PhpStorm.
 * User: linmouren
 * Date: 2016/11/10
 * Time: 21:27
 */
header("content:text/html; charset=utf-8");
error_reporting(E_ALL ^ E_NOTICE);
require_once 'GetList.class.php';

$messageId = $_POST['postsid'];
$postNum = $_POST['postnum'];
$tableName = '';
$list = new GetList;
$list->getListTest($messageId,$postNum);

?>

如上,文件1几乎作了全部的事,而文件2仅仅作了获取数据,还有调用函数处理。
我以为也许能够改成:对数据库数据查询封装在函数里,获取的数据的处理操做放在文件2里面。

6、证实你学会了软件工程

经过数据展示软件是能够维护和继续发展的。

有源码。源码连接(coding.net)
有文档。规格说明书/系统设计/源码连接(coding.net)

7、给本身写一段话

相处一学期不易,课堂和课程上,咱们将就此别过。惋惜学生匆匆,时光匆匆,认识和了解的同窗却不多。另外我年纪渐长,记忆日衰,会遗憾有时候我连个性或名字都没有记住。写一段话,介绍下你本身吧。

每次结课彷佛都是一次离别,可是咱们大可没必要太伤感,生活就是不断地相遇不断地离别,没必要强求记住每个笑脸,值得记住的天然不会忘掉,忘掉了的就忘了吧,作个过客也没什么很差。做为老师要遇到学生何其之多,彷佛每一个学生都差很少,不同凡响的也是屈指可数。对学生而言,就比较容易记住一个有趣的老师。是否是全部的学生都有一种“老师的每一个眼神都是在问我懂了吗”的错觉,我就感受栋哥的每一个表情都在和我交流。事实并不这样,毕竟没有什么闪光点让本身出众,可是不出众又有什么关系呢,不出众就不会被栋哥记住,那我记住栋哥就行了。——NoBug团队的小卒:-)

8、个性发挥

那就来张咱们团队的合照吧

相关文章
相关标签/搜索