Tài liệu BÁO CÁO VỀ SVN VÀ GOOD CODE doc

3 538 2
Tài liệu BÁO CÁO VỀ SVN VÀ GOOD CODE doc

Đang tải... (xem toàn văn)

Thông tin tài liệu

BÁO CÁO VỀ SVN GOOD CODE I. Tìm hiểu về Subversion (SVN) 1.Subversion là gì? Subversion (viết tắt là SVN) là một hệ thống quản lí version được giới thiệu vào năm 2000 bởi công ty CollabNet. Đây là hệ thống hỗ trợ làm việc theo nhóm rất hiệu quả. Khi một nhóm làm việc cùng trên một project, việc nhiều người cùng chỉnh sửa nội dung của một file là điều không thể tránh khỏi. SVN cung cấp các chức năng để có thể thực hiện việc này một cách đơn giản an toàn. 2. Phân loại phần mềm quản lí subversion? Subversion hoạt động dựa trên mô hình quản lí tập trung kiểu client/server. Mô hình này có hai khái niệm cơ bản: Repository đặt ở server là nơi tập trung quản lí các phiên bản của các tập tin. Working Copies đặt ở client là các phiên bản làm việc của các tập tin trong repository. Vì vậy, bạn cần phải có một phần mềm server một phần mềm client. Ở đây chúng ta sẽ nói nhiều về phần mềm SVN client, có thể chia làm ba loại chính: • Stand-alone clients: đứng như một ứng dụng độc lập, không phụ thuộc vào các phần mềm khác • Desktop-integrated client: loại được tích hợp vào các phần mềm desktop (ví dụ như TortoiseSVN) , mỗi khi bạn click phải chuột vào màn hình destop sẽ thấy các chức năng của SVN client • IDE plug-in clients: loại tích hợp thêm các công cụ lập trình (IDE), ví dụ Subclipse được tích hợp vào Eclipse 3. Ưu điểm khuyết điểm của TortoiseSVN Ưu điểm: commit nhanh chóng, GUI dễ xài, là open source Khuyết điểm: tính năng lock không hoạt động ở google host 4. Những thao tác cơ bản trong TortoiseSVN 3.1. Tạo thư mục Repository (thư mục để chứa các file trên server) Chức năng: Tạo một thư mục tên bất kì tại nơi bạn muốn đặt server. Cấu trúc bên trong thư mục Repository Thao tác: Tạo một thư mục trống, ví dụ: D:/Subversion/MyRepository. Click vào thư mục vừa tạo click chuột phải, chọn TortoiseSVN→Create Repository. Chú ý: không nên thay đổi các file trong thư mục Repository 3.2. Import Chức năng: import dữ liệu cho Repository Thao tác: • Right-Click trên thư mục chứa dữ liệu muốn import, chọn TortoiseSVN→Import • Chọn đường dẫn đến Repository, click OK 3.3. SVN Checkout Chức năng: update những thay đổi trên Repository về máy Thao tác: • Tạo một thư mục lưu trữ di chuyển vào đó(ví dụ D:\Client1), click chuột phải, chọn SVN Checkout… • Nhập URL repository trên server. Trong Box Checkout Depth gồm 4 lựa chọn: Fully recursive: checkout toàn bộ cấu trúc thư mục, các file dữ liệu trên Repository Immediate children, including folders: Chỉ checkout cấu trúc thư mục các file bên ngoài Only file children: chỉ checkout các file bên ngoài Only this item: chỉ checkout được thư mục Repository mà không có cấu trúc hay dử liệu Sau đó nhấn OK để tiếp tục. • Nếu check out thành công, bạn sẽ thấy trong thư mục xuất hiện thư mục .svn(thư mục ẩn) cùng tất cả các file có trên server. Bạn có thể chỉnh sửa cũng như tạo mới, xóa bớt các file trong đó. 3.4. Update dữ liệu Chức năng: Update toàn bộ những cái khác nhau giữa Repository Folder Update Thao tác: Cách 1: • Right-Click trên Folder đã được checkout, chọn “SVN Update”. Cách 2: • Right-Click trên Folder đã được checkout, chọn TortoiseSVN→Check for modifications. • Click chọn Check repository • Right-Click trên file cần update, chọn “Update” • Tùy chỉnh các thông số rồi chọn OK để update 3.5 3.5. Repository Browser Chức năng: làm việc trực tiếp trên repository, cho phép bạn xem các cấu trúc trạng thái của repository Thao tác: • Right-Click trên một thư mục, chọn TortoiseSVN→ Repo-browser. • Nếu Right-Click trên thư mục chưa được checkout thì sẽ phải truyền thêm đường dẫn đến Repository 3.6. SVN Commit những điều cần lưu ý khi submit code Chức năng: upload file chỉnh sửa lên trên server Thao tác chú ý: • Copy file đã chỉnh sửa vào thư mục ban đầu checkout • Click chuột phải vào thư mục đó, chọn lênh SVN Commit • Sau đó, một window sẽ hiện ra, box message cho phép bạn viết thêm ghi chú về thay đổi, box Changes Made, cho phép bạn kiểm tra lại các file cần submit, nên đánh dấu vào tất cả các checkbox chưa được đánh, sau đó click OK • Một window mới hiện ra, yêu cầu bạn nhập username password. Mỗi người đều có một Username Password của riêng mình, lưu ý ở Username Password ở đây không phải là ID Pass của Gmail mà là ID và Pass của Project. Click vào google.com password để lấy password. Nhấn OK (Những lần sau sẽ không hiện ra khung Username password nữa) • Chờ chương trình xử lí rồi nhấn OK để kết thúc Chú ý: chỉ nên commit những file chung cho project, những file chỉ sử dụng cho riêng mình (ví dụ các file test, backup…) các bạn không nên commit. 3.7. Xử lí khi bị conflict Conflict xảy ra khi 2 client đồng thời thay đổi nội dung của của 1 file. Ví dụ: Động tác 1: Trong thư mục client1, check out, sau đó tạo file bất kì (ví dụ main.cpp), commit file main.cpp, edit file main.c, thêm vào dòng “I am client1” rồi save file. (chưa commit) Động tác 2: Ra khỏi thư mục client1, tạo thư mục client2 (đóng vai trò như một client khác đang cùng tham gia project với client1). Checkout như client1, edit file main.c, thêm vào dòng “I am client2”. Commit file main.c Trở lại thư mục client1. Commit file main.c. Bảng hiển thị lỗi sẽ hiện ra bạn sẽ không thể commit lên server. Cách khắc phục: Trước tiên bạn phải update. Click chuột phải, chọn SVN update. File main.c của bạn sẽ được copy qua main.cpp.mine, còn file main.cpp sẽ có nội dung mà cả 2 client đã thay đổi. Xem file main.cpp để “đoán” xem chuyện gì đã xảy ra chỉnh sửa lại. Hoặc bạn có thể dùng check modification tool(click chuột phải, chọn TortoiseSVN→Check for modification). Sau khi đã chỉnh sửa xong file main.cpp, bạn phải thông báo cho SVN rằng conflict đã được fix bằng cách click chuột phải, chọn TortoiseSVN→Resolved… Sau đó mới có thể commit được. II. Chuẩn đặt tên trong Ruby Trong Ruby, chúng ta không cần khai báo biến, vì vậy việc đặt tên trong Ruby là vô cùng quan trọng nó giúp chương trình nhận biết phạm vi (scope) của biến. • Tên biến địa phương: bắt đầu với một kí tự viết thường (a→z) kí tự underscore ‘_’ • Tên biến Instance (còn gọi là non-static field’s name): bắt đầu với kí tự ‘@’ • Tên biến Class( còn gọi là static field’s name): bắt đầu với “@@” • Tên biến toàn cục: bắt đầu với kí tự ‘$’ • Tên hằng: bắt đầu với một kí tự viết hoa (A →Z), tất cả mọi lớp đều là hằng. Chú ý: Trong Ruby có thể gán giá trị mới cho hằng tuy nhiên chương trình sẽ đưa ra cảnh báo • Tên biến Pseudo: mặc định là self,nil,true,false Các chuẩn đặt tên còn lại đều tương tự những ngôn ngữ khác • Kí tự đầu trong tên bất kì không được phép là con số. • Tên không được phép chứa dấu $,%,&,*. • Keyword không được phép dùng làm tên(if,else, for, do, …) III. Thế nào là source code tốt Một source code tốt là một source code dễ bảo trì, nâng cấp sửa chữa, một vài kĩ thuật sau sẽ giúp code của bạn trong sáng hơn • Hạn chế tối đa dùng biến toàn cục • Tên hàm tên phương thức nên dùng các kí tự viết hoa viết thường, tránh viết tắt • Block code của hàm phương thức nên tối thiểu, ít hơn 100 hàng là code tốt. • Nên thêm đặc tả chức năng hàm trong chú thích (comment) gần khai báo hàm. • Viết code một cách hấp dẫn (cho người ngoài nhìn vào dễ nắm bắt) • Dùng khoảng trắng rộng (indentation) ở những cấu trúc bên trong được lồng bởi cấu trúc bên ngoài để code trong sáng hơn • Mỗi hàng chứa tối đa 70 kí tự là phù hợp, mỗi hàng viết 1 lệnh là hay nhất Nguồn: [1] Blog cộng đồng về IT: http://cntt.tv/nodes/show/256 [2] Trang MyTechNote: http://mytechnote.tk/ [3] Ruby Learner: http://rubylearning.com/satishtalim/ruby_names.html . BÁO CÁO VỀ SVN VÀ GOOD CODE I. Tìm hiểu về Subversion (SVN) 1.Subversion là gì? Subversion (viết tắt là SVN) là một hệ thống quản. III. Thế nào là source code tốt Một source code tốt là một source code dễ bảo trì, nâng cấp và sửa chữa, một vài kĩ thuật sau sẽ giúp code của bạn trong

Ngày đăng: 25/02/2014, 23:20

Hình ảnh liên quan

Subversion hoạt động dựa trên mơ hình quản lí tập trung kiểu client/server. Mơ hình này có hai khái niệm cơ bản: Repository đặt ở server là nơi tập trung quản lí các phiên bản của các tập tin - Tài liệu BÁO CÁO VỀ SVN VÀ GOOD CODE doc

ubversion.

hoạt động dựa trên mơ hình quản lí tập trung kiểu client/server. Mơ hình này có hai khái niệm cơ bản: Repository đặt ở server là nơi tập trung quản lí các phiên bản của các tập tin Xem tại trang 1 của tài liệu.

Từ khóa liên quan

Mục lục

  • [1] Blog cộng đồng về IT: http://cntt.tv/nodes/show/256

  • [2] Trang MyTechNote: http://mytechnote.tk/

  • [3] Ruby Learner: http://rubylearning.com/satishtalim/ruby_names.html

Tài liệu cùng người dùng

Tài liệu liên quan