黃淑雲:代碼編寫,測試,Github相關
阿說阿加:代碼編寫,ui設計,博客撰寫git
PSP2.1 | Personal Software Process Stages | 預估耗時(h) | 實際耗時(h) |
---|---|---|---|
Planning | 計劃 | 0.5 | 0.6 |
Estimate | 估計這個任務須要多少時間 | 0.5 | 0.5 |
Development | 開發 | 5 | 8 |
Analysis | 需求分析 (包括學習新技術) | 15 | 20 |
Design Spec | 生成設計文檔 | 0.5 | 0.8 |
Design Review | 設計複審 | 0.8 | 1 |
Coding Standard | 代碼規範 (爲目前的開發制定合適的規範) | 1 | 1.5 |
Design | 具體設計 | 1 | 1.5 |
Code | 具體編碼 | 17 | 20 |
Code Review | 代碼複審 | 1 | 2 |
Test | 測試(自我測試,修改代碼,提交修改) | 1 | 1.5 |
Reporting | 報告 | 0.5 | 1 |
Test Repor | 測試報告 | 0.5 | 0.8 |
Size Measurement | 計算工做量 | 0.5 | 0.5 |
Postmortem & ProcessImprovement Plan | 過後總結, 並提出過程改進計劃 | 0.5 | 0.5 |
合計 | 45.3 | 59.1 |
說明算法的關鍵與關鍵實現部分流程圖
一、算法的關鍵:判斷輸入文本不爲空;循環添加樹形數據,遇到空行時,設置空行爲true,方便下一行添加一個大節點;當上一行爲空行時,添加一個大節點(而且爲大節點設置一個標誌好比0),同理也須要對空行設置標誌好比false;最後生成樹的函數是關鍵。
二、簡單流程圖:
github
有價值的代碼片斷及其註釋部分以下:算法
function makeTree() { var txt=document.getElementById("txt1").value if(txt=="") { alert("輸入文本不能爲空!"); } else { var array=txt.split("\n")//分割行數組 var treeData=[];//樹形數據 var nullLine=false;//是否爲空行 var num=0;//一行元素的惟一id var pid1=0;//子節點數據 for(var i=0; i<array.length; i++)//循環添加樹形數據 { if(i==0) { var obj={};//第一行添加一個大節點,如導師節點 num++;//惟一節點標記加1 obj.id=num;//設置節點id obj.title=array[i].split(":")[0]+"_"+array[i].split(":")[1]//設置節點標 obj.pid=0;//設置爲0時候,表明是大節 pid1=num;//記錄子節點的pid treeData.push(obj); } else { if(array[i].length<1) { nullLine=true;//遇到空行時,設置空行爲true,方便下一行添加一個大節點 } else { if(nullLine) { var obj={};//當上一行爲空行時,添加一個大節點 num++;//惟一節點標記加1 obj.id=num;//設置節點id obj.title=array[i].split(":")[0]+"_"+array[i].split(":")[1] //設置節點標題 obj.pid=0;//設置爲0時候,表明是大節點 pid1=num//記錄子節點的pid treeData.push(obj)//添加大節點 } else { var obj={}; num++;//惟一節點標記加1 obj.id=num;//設置節點id obj.title=array[i].split(":")[0]//設置節點標 obj.pid=pid1;//設置子節點的pid爲父節點的pid treeData.push(obj)//添加子節點 var arr1=array[i].split(":")[1].split("、");//添加子節的子節點 var pid2=num; //記錄父節點的pid for(var j=0;j<arr1.length;j++)//循環添加子節點 { var obj={}; num++; obj.id=num; obj.title=arr1[j] obj.pid=pid2; treeData.push(obj) } } nullLine=false;//空行設置爲false; } } } document.getElementsByClassName("f-tree").item(0).innerHTML="";//設置容器內容爲空 config.tree({type:0,wrapper:'.f-tree',data:treeData});//生成樹節點 } //console.log(array); //console.log(arr1); }
一、考慮輸入爲空的狀況,可跳出提示框進行提示,而且沒法生成任何樹。
代碼片斷以下:數組
var txt=document.getElementById("txt1").value; if(txt=="")//提示輸入不能爲空 { alert("輸入文本不能爲空!"); }
結果展現以下:
瀏覽器
二、輸入文本框裏有提示文字,輸出文字時消失,和文本框的其餘樣式方面的設置。
代碼以下:app
<textarea style="height:300px; width:300px;background-image:url(images/3.jpg);border-color:#191970;" id="txt1" placeholder="請在這裏輸入文字"></textarea>
結果展現以下:
框架
目錄組織
函數
目錄說明和使用說明
工具
可能出現的狀況:
點擊「容許阻止的內容「。其餘問題待發現。單元測試
阿說阿加:
黃淑雲: