Discuss: Is it redundant to add column label translation in code?
andrey-jef opened this issue · 3 comments
andrey-jef commented
By trying the docs format of openbb with vnstock, in this PR #102 , i wonder:
- Is it redundant to add column label translation in code?
- Or just leave the label as default and add description only in the appropriate docs page? Since mkdocs-material already support i18n
Benefits: much more concise and easier to read code
Another issue has also raised up while writing this docs page. vnstock
does not have a proper data model for result output
- Currently we use spaghetti code to handle exception/error and data validation. As a reference, openbb apply an OOP paradigm, with the use of
pydantic
package for data model. - Someone will review this in the future, when
vnstock
can expand beyond its current structure.
thinh-vu commented
Hi bạn,
Mình phản hồi 1 số ý như sau:
- Trong giai đoạn phát triển vnstock, mình cũng ưu tiên có tính năng và truy xuất được dữ liệu chính xác so với dữ liệu gốc từ nguồn. Việc optimize hoặc bổ sung data model có thể thực hiện khi có nguồn lực và có thể có chút ý niệm về việc tính năng cần làm có được nhiều người quan tâm hay không (việc này có thể xem thông qua phân tích lượt xem trang và thời gian xem của người dùng qua Google Analytics)
- Không cần thiết sử dụng label tiếng Việt cho các cột dữ liệu bởi trong thực tế code sử dụng tiêu đề tiếng Việt dài dòng và không cần thiết. Việc cung cấp nghĩa của cột có thể bổ sung trong tài liệu hướng dẫn. Nếu xét về việc dữ liệu có giá trị và cần lưu vào database thì lựa chọn tốt vẫn là lưu bằng tiêu đề tiếng Anh chứ ko phải tiếng Việt.
- Mình sẽ bổ sung thêm các bước validate dữ liệu đầu vào khi phát triển thêm code trong giai đoạn tới. Sử dụng pydantic hay không thì mình sẽ nghiên cứu thêm vì phần này mình cũng chưa dùng nhiều.
andrey-jef commented
Cảm ơn b đã tham gia thảo luận.
ý 2:
- chỉ nói riêng trong funds.py, thì b cũng đồng ý là nên bỏ phần logic đổi tên cột cho đơn giản. M hiểu vậy có đúng ko nhỉ?
ý 1:
- Nói data model thì nghe to bự quá, chứ thực ra thì m muốn chỉ là chuẩn hóa việc đặt tên cột cho df output thành snake_case thay vì để ở dạng Title Case kèm 2 lựa chọn Anh Việt như hiện tại. Và sẽ chỉ mapping lại cột bằng pandas như chúng ta đang làm thôi. M sẽ ko ứng dụng thử nghiệm pydantic. Nếu b ngại cho người dùng cuối phải thêm cài nhiều package.
- vd: thay vì để column label mặc địch từ api là
product.navGrowth6month
, hoặc dịch sang dạng title case kiểuNAV change 6 month
thì sẽ chuẩn mực hóa thànhfund_nav_6_month
- sau này b có hứng làm data model thì cũng chỉ cần lấy cái tên cột đã chuẩn mực hóa. Và sẽ ko cần phải cập nhật lại docs về phần tên cột.
Nếu b đồng thuận là m hiểu đúng ý b như đã diễn giải ở trên thì m có thể pr thêm cho funds.py?
Mục tiêu tuần tự là:
- bỏ logic đổi tên cột
- chuẩn hóa tên cột về dạng snake_case
- Sau khi đạt được đồng thuận về tên đã chuẩn hóa thì cập nhật docs về thay đổi lại tên cột
andrey-jef commented
We achieve a consensus on:
- standardize column label to snake_case
- remove unnecessary and ambiguous input param
lang
,mode
,decor
, from functions in modulefunds.py
These changes were implemented in PR #108
Close discussion.