軟工實踐總結

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、個性發揮

那就來張咱們團隊的合照吧

相關文章
相關標籤/搜索