On Mon, 7 Mar 2011, Bùi Thành wrote:

> Hì hì,
> 2011/3/7 Nguyen Vu Hung (VNC) <vuh...@vinicorp.com.vn>
>       (2011/03/07 11:02), Bùi Thành wrote:
>             Vâng, bác nói rất đúng. Vấn đề chính là sự phụ thuộc giữa các sub 
> module. Chúng phụ thuộc ở mức khiến em không muốn tách thành các subrepo (và
>             hơn nữa ban đầu em đã đưa ráo vào 1 repo, giờ tách ra không thích 
> lắm :D)
>
> Chắc phải refactoring lại code, tăng sự độc lập giữa các module  trước.
>
> * 1 là, anh có thể hình dung:
> Em có khoảng chục cái game.
> Trên server là 1 cục và deploy chung, chỉ có 1 file tính tiền & 1 file luật 
> là riêng.
> Dưới client có phần quản lý người chơi,.. có code rất giống nhau (giữa các 
> game) và chỉ có phần chơi là khác nhau.
> Phần chơi là phần em muốn hạn chế quyền read (nhóm làm game nào không được 
> xem phần này của game khác)
> Anh bảo refactor kiểu gì được ạ?
>

> * 2 là, giả sử như có phải refactor, nhưng em thấy công sức để refactor rất 
> tốn => không làm. => vẫn chưa giải quyết được vấn đề quản lý mã nguồn :D
>

Công sức refactor có thể tốn nhưng rất đáng.  Refactor là một khâu tối
quan trọng để giữ mã nguồn có tính maintainability (bảo trì) và
extensibility (mở rộng), đồng thời tăng chất lượng của cả mã nguồn lẫn
sản phẩm, giảm tối đa lỗi phát sinh *do con người*.  Vấn đề của
refactoring không nằm ở mặt kỹ thuật mà nằm ở mặt tổ chức.  Em không
tin một sản phẩm nào được coi là "tốt" mà các thành phần của sản phẩm
đó lại không được tổ chức tốt.

Nhìn vào một repo có module riêng biệt, mỗi module có documentation và
được chia nhỏ theo từng functional unit bao giờ cũng dễ phát triển
hơn, cho hiệu quả tốt hơn là một mớ hổ lốn code hỗn độn, bạ đâu sửa
đấy, vô tội vạ.  Lập trình cũng giống như viêt văn vậy, lời ý đẹp
nhưng phải có bố cục rõ ràng mới được gọi là hay.

Best regards,
-- 
Dương "Yang" Hà Nguyễn
Web log: http://cmpitg.wordpress.com/
"Life is a hack"

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GIT/C/ED/L d++ s-:-(:) !a C+++(++++) ULU++++>$ P-- L+++>$ E+++
W++>+++ N+ o+ K w--- O- M@ V- PS+ PE++ Y+>++ PGP++ t+ 5 X+ R-
tv+ b+++ DI+++ D++ G+++ e* h* r* y-
-----END GEEK CODE BLOCK-----
_______________________________________________
POST RULES : http://wiki.hanoilug.org/hanoilug:mailing_list_guidelines
_______________________________________________
HanoiLUG mailing lists: http://lists.hanoilug.org/
HanoiLUG wiki: http://wiki.hanoilug.org/
HanoiLUG blog: http://blog.hanoilug.org/

Trả lời cho