2010-09-15 33 views
6

Chúng tôi luôn cố gắng cải thiện khả năng áp dụng các kỹ năng của mình để giải quyết vấn đề. Nguyên tắc kỹ thuật phần mềm đã giúp tôi có khả năng viết mã chất lượng cao hơn. Điều này bao gồm thử nghiệm, mô đun hóa, sử dụng OO nếu thích hợp, v.v.Nguyên tắc kỹ thuật phần mềm với Javascript

Đây là ví dụ về cách tôi đạt được một số mô đun hóa trong JS của mình. Có lẽ đó là một cách xấu để đạt được điều này, nhưng nó phục vụ như là một ví dụ về những gì tôi có ý nghĩa và chứa một vài câu hỏi của riêng mình.

framework.js

Framework = { 
    CurrentState : { 
     IsConfigurationLoaded : false, 
     IsCurrentConfigurationValid : false, 
     Configuration : undefined //undefined .. good? bad? undefined? 
    }, 
    Event : { 
     //event lib 
    }, 
    //you get the idea 
} 

Câu hỏi:

Bằng những cách nào bạn áp dụng software engineering nguyên tắc để cải thiện khả năng đọc, bảo trì, và các thuộc tính chất lượng khác của JS của bạn?

liên quan (cụ thể hơn) Các câu hỏi khác để giúp đỡ trong việc trả lời:

Tôi đã từng viết một khuôn khổ kiểm tra đơn vị JS đơn giản, trong đó có đơn giản khẳng định và một phương pháp thử nghiệm helper tham gia một lambda. Suy nghĩ của bạn về thử nghiệm đơn vị javascript là gì?

Việc xác định ranh giới giữa mã và khung của bạn quan trọng như thế nào?

JS chủ yếu được sử dụng trong trình duyệt hoặc trong trang web. Điều này có làm giảm/vô hiệu hóa các mối quan tâm nhất định không?

Bạn có đề xuất sử dụng các nguyên tắc Lớp học và OO không?

Cách sử dụng không xác định và/hoặc null? Nó có nên bị cấm không?

Cách sử dụng try/catch? Được đề xuất?

Khi nào bạn chuyển từ JSON sang lớp học? Bạn có sử dụng các phương thức Util hoạt động trên dữ liệu không?

Cách sử dụng mẫu thử nghiệm? Được đề xuất? Một trường hợp tốt mà bạn sẽ không sử dụng nó là gì?

Trả lời

1

trong dự án lớn, tôi có xu hướng khác nhau giữa mô hình-, kiểm soát và xem tệp ([mvc-pattern] [1]).

tệp mẫu chứa tất cả mọi thứ liên quan đến dữ liệu, đặc biệt là lớp của tôi (OOP). ví dụ về tệp mô hình có thể là:

function myClass(){ 
    //private variable 
    var variable=5; 

    //public variable  
    this.newVariable = 10; 

    function myFunction() { 
     //do some stuff 
     alert("my function"); 
    }  

    //public stuff 
    return { 
     myPublicFunction: myFunction 
    } 
} 

chế độ xem có chứa mọi thứ liên quan đến bố cục và chế độ xem và tệp kiểm soát chứa đầy những thứ liên quan đến xử lý dữ liệu. control-file sử dụng class được khai báo trong model-file và làm việc với nó. do đó, chế độ xem chỉ cần bao gồm tệp kiểm soát và gọi các chức năng cần thiết cho bố cục.

nhưng nói chung nó hoàn toàn khác với khái quát. tôi thích kiểu oo và trie để sử dụng, nếu nó có ý nghĩa. nhưng tôi chỉ có kinh nghiệm với iPhone-phát triển, vì vậy tôi không thể nói điều gì đó liên quan đến dev web.

[1]: http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller 
Các vấn đề liên quan