---
# System prepended metadata

title: Nguyen Thanh Tung

---

# Nguyen Thanh Tung
- Chưa build được ngay khi clone từ git về (bỏ packace Android Clean Architecture- master)
- version hiện tại của glide bị lỗi trên máy của mình(update lên version cao hơn mới có thể build (4.13.2))

### Base
- Toàn bộ data class, enum class cần sửa từ var -> val,và thêm các default value cho data class
- RestaurantDetail ko sử dụng
- bỏ các flow thừa như User,UserEntity
- MainViewModel: Đang truy cập trực tiếp cũng như sửa từ Fragment, ko có backing property -> bad approach -> có thể fetch data luôn trong VM init{}
### Home + Detail
- layoutManager khai báo trong xml
- Adapter: 
    - bỏ contructor của Adapter
    - view holder: constructor: var -> private val
- View model: 
    - constructor: private var -> private val
    - các function xử lý bussiness logic (handleDataRestaurants, handleStatusRestaurant) -> chuyển sang class repo, hoặc viết extension function để map data
    - các const khai báo trong Ext/Utils class
- Detail Screen: Thiếu ngày CN, có thể sắp xếp thẳng cột (thứ, giờ mở cửa, giờ đóng cửa)
- 
- Home Screen:recycle view cuối bị che, chưa neo recycle view với bottom 
### XML 
- đang hardcode String -> chuyển sang file strings
- dùng Style cho textview (size, textStyle,...)

Cần loại bỏ các file, flow không liên quan tới yêu cầu bài toán do dang xây dựng trên base cũ (user flow, fragment login,...)
format, optimize import lại toàn bộ file

## Update
 - DetailResVH(private val bind: ItemDetailRestaurantBinding)
 - remove @SuppressLint("SetTextI18n")
 - OperaRestaurant -> var -> val + default value
-  data class Restaurant -> không sửa, update data của response object bằng var (var status,val operaRestaurants... -> val) -> sử dụng kotlin map và extension để ánh xạ, transform sang presentaion object (ko dùng restaurants.toMutableList().clear()
                restaurants.toMutableList().addAll())

### Detail
- bỏ layoutManager = LinearLayoutManager(requireContext()) -> khai báo trong xml
- Viewmodel : 
    - operaRestaurantsEvent -> thêm backing property
    - operaRestaurants -> ko sử dụng
### Home
- RestaurantVH(private val bind: ItemRestaurantListBinding) 
- VM: restaurantsEvent -> thêm backing property

### XML 
- hard code android:text=" (999+ comment)"
