---
# System prepended metadata

title: "許願區 \U0001F9DE"

---

# 許願區 🧞
> 此區包含預期在短期不會做的事情

### [RN] Dependency cycle 問題 - Nora （需要再研究問Kei的意見）

說明： Dependency cycle
優點： 避免不預期bug
![](https://i.imgur.com/iUkaoPi.png)

Solution：更改資料夾
難度：:star: 
風險：:star: :star: :star: :star: :star:
可能遇到的問題：
>While circular dependencies may not directly result in bugs (they certainly can), they will almost always have unintended consequences. In our project, we were experiencing slow TypeScript type-checking and frequent dev-server “JavaScript heap out of memory” crashes.

參考：
- [link1](https://github.com/benmosher/eslint-plugin-import/blob/v2.22.1/docs/rules/no-cycle.md)
- [link2](https://spin.atomicobject.com/2018/06/25/circular-dependencies-javascript/)

渴望度：9/20

### [Android/iOS/Core] 避免送出交易後卡在等待回應  - Clement

說明：發送交易後，立即更新（扣除）資料庫餘額，而非等到交易成功後才 get balance。若交易失敗則通知用戶並加回資料庫餘額。
難度：:star:(請CP做)
風險：:star::star::star::star::star:
渴望度：5/20
優點：
加總 utxo 當作 btc 的 balance（Ed），但可能有balance不符合使用者預期的結果

1. 減少等待時間
2. 避免重複交易（若成功則餘額不足）

可能會遇到的問題：程式架構更改、CP 支援


### [RN] refactor class component... - Danny

說明：React-Redux原本使用的Conncet與MapStateToProps會在每一次的Dispatch Event Trigger Re-render，這會造成不必要的效能問題。在最新版本的Redux中，新的Hook useSelect, useDispatch解決了這個問題，可以在每次的Dispatch後以shallowCompare的方式避免不必要的Re-render。

難度：:star::star:
風險：:star::star::star:
渴望度：7/20
優點：

1. 優化效能

可能會遇到的問題：
- 耗時
- exchange那邊class component都要再測過

### [RN] 寫integration test - Nora
說明：寫integration test確認有符合UI FLOW
難度：:star::star::star:
風險：:star:
優點：1. 確認page flow有沒有符合需求 2. 避免別的地方改動影響
可能會遇到的問題：比較花時間
渴望度：
參考：
```javascript=
test('given empty GroceryShoppingList, user can add an item to it', () => {
  const { getByPlaceholder, getByText, getAllByText } = render(
    <GroceryShoppingList />
  );

  fireEvent.changeText(
    getByPlaceholder('Enter grocery item'),
    'banana'
  );
  fireEvent.press(getByText('Add the item to list'));

  const bananaElements = getAllByText('banana');
  expect(bananaElements).toHaveLength(1); // expect 'banana' to be on the list
});
```

### [Android] debug 和 release 的 package id 分開 - Clement

說明：debug 和 release 的 package id 分開
優點：可以同時安裝 debug 和 release 版本在裝置上
難度：:star: :star:
風險：:star: 
渴望度：4/15

可能會遇到的問題：

1. CircleCI 與 Fastlane 修改

參考：[Organizing your Firebase-enabled Android app builds](https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html)




