Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code quality for 0.27.0 release #142

Closed
3 tasks done
olemis opened this issue Sep 20, 2019 · 1 comment · Fixed by #146 or #165
Closed
3 tasks done

Code quality for 0.27.0 release #142

olemis opened this issue Sep 20, 2019 · 1 comment · Fixed by #146 or #165
Assignees
Labels
bug Something isn't working ci Continuos Integration skyfiber SkyFiber altcoin plugin stdev wip Work in progress
Milestone

Comments

@olemis
Copy link
Contributor

olemis commented Sep 20, 2019

Describe the bug
Some functions (e.g. RemoteWallet's) are value receivers .

Actual behavior
This implies copy semantics are activated in place .

Expected behavior
No copy should be made .

Possible implementation

  • Transform value receivers into pointer receivers
  • Add docstring comments for public functions and value/pointer receivers
  • Configure golang-ci and run it in Travis builds
@olemis olemis added the bug Something isn't working label Sep 20, 2019
@olemis olemis added core Core interfaces skyfiber SkyFiber altcoin plugin stdev wip Work in progress and removed core Core interfaces labels Sep 20, 2019
@olemis olemis added this to To do in FiberCrypto wallet - Iteration 1 via automation Sep 20, 2019
@olemis olemis added this to the 0.27.0 milestone Sep 20, 2019
@olemis olemis moved this from To do to In progress in FiberCrypto wallet - Iteration 1 Sep 21, 2019
@olemis olemis changed the title Transform value receivers into pointer receivers Code quality for 0.27.0 release Sep 21, 2019
e1Ru1o added a commit that referenced this issue Sep 21, 2019
FiberCrypto wallet - Iteration 1 automation moved this from In progress to Done Sep 23, 2019
olemis added a commit that referenced this issue Sep 23, 2019
…ceivers_into_pointer_receivers

 Fixes #142 - Transform value receivers into pointer receivers
@olemis
Copy link
Contributor Author

olemis commented Sep 23, 2019

Docstrings still needed .

@olemis olemis reopened this Sep 23, 2019
FiberCrypto wallet - Iteration 1 automation moved this from Done to In progress Sep 23, 2019
olemis added a commit to simelo/fibercryptowallet that referenced this issue Sep 26, 2019
olemis added a commit to simelo/fibercryptowallet that referenced this issue Sep 27, 2019
- Timestamp
- TransactionStatus
- Transaction
- TransactionIterator
- TransactionInput
- TransactionInputIterator
- TransactionOutput
- TransactionOutputIterator
- Block
olemis added a commit to simelo/fibercryptowallet that referenced this issue Sep 27, 2019
- UID
- AltcoinMetadata
- AltcoinPlugin
- AltcoinManager
- CoinValueKey => CoinValueMetric
- BlockchainStatus
- Wallet
olemis added a commit to simelo/fibercryptowallet that referenced this issue Sep 29, 2019
- WalletIterator
- WalletSet
- WalletStorage
- AddressType
- Wallet
- SeedGenerator
- WalletEnv
olemis added a commit to simelo/fibercryptowallet that referenced this issue Sep 30, 2019
- PEX
- PexNodeIterator
- PexNodeSet
- PexNode
- PooledObject
- PooledObjectFactory
- MultiPool
- NotAvailableObjectsError
- MultiConnectionsPool

Request for improvement refs fibercrypto#156
olemis added a commit to simelo/fibercryptowallet that referenced this issue Sep 30, 2019
- KeyValueStorage
- PasswordReader
@olemis olemis added the ci Continuos Integration label Oct 9, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 10, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 10, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 10, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 10, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 10, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 11, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 12, 2019
# src needs separate linting rules
golangci-lint run -c .golangci.yml ./src/...
src/coin/skycoin/models/wallet.go:530:24: `neccesary` is a misspelling of `necessary` (misspell)
	//Checking if all the neccesary addresses exists
	                      ^
src/main/config.go:96: G104: Errors unhandled. (gosec)
	jsonFormat, _ := json.Marshal(cm.getConfigManagerJson())
src/main/config.go:171: G304: Potential file inclusion via variable (gosec)
	dat, err := ioutil.ReadFile(fileDir)
src/main/config.go:199: G104: Errors unhandled. (gosec)
	jsonFormat, _ := json.Marshal(cm.getConfigManagerJson())
src/main/config.go:201: G104: Errors unhandled. (gosec)
	os.MkdirAll(filepath.Dir(getConfigFileDir()), 0755)
src/coin/skycoin/models/account.go:198:6: ineffectual assignment to `err` (ineffassign)
	bl, err := getBalanceOfAddresses(outs, addrs)
	    ^
src/coin/skycoin/models/wallet.go:744:7: ineffectual assignment to `err` (ineffassign)
	pwd, err := password("Insert Password")
	     ^
src/models/qtransaction.go:78:13: ineffectual assignment to `err` (ineffassign)
		quotient, err := util.AltcoinQuotient("SKY")
		          ^
src/models/walletsManager.go:493:2: ineffectual assignment to `accuracy` (ineffassign)
	accuracy, _ = util.AltcoinQuotient(skycoin.SkycoinTicker)
	^
src/coin/skycoin/models/account.go:22:34: Error return value of `(github.com/fibercrypto/FiberCryptoWallet/src/core.MultiPool).Return` is not checked (errcheck)
	defer core.GetMultiPool().Return(PoolSection, c)
	                                ^
src/coin/skycoin/models/account.go:46:34: Error return value of `(github.com/fibercrypto/FiberCryptoWallet/src/core.MultiPool).Return` is not checked (errcheck)
	defer core.GetMultiPool().Return(PoolSection, c)
	                                ^
src/coin/skycoin/models/account.go:77:34: Error return value of `(github.com/fibercrypto/FiberCryptoWallet/src/core.MultiPool).Return` is not checked (errcheck)
	defer core.GetMultiPool().Return(PoolSection, c)
	                                ^
src/models/address/address.go:73:47: invalid operation: al (variable of type *AddressList) has no field or method Addresses (typecheck)
	if !index.IsValid() || index.Row() >= len(al.Addresses()) {
	                                             ^
src/models/address/address.go:77:16: invalid operation: al (variable of type *AddressList) has no field or method Addresses (typecheck)
	address := al.Addresses()[index.Row()]
	              ^
src/models/address/address.go:68:5: invalid operation: al (variable of type *AddressList) has no field or method SetAddresses (typecheck)
	al.SetAddresses(append(al.Addresses()[:index], al.Addresses()[index+1:]...))
	   ^
src/models/history/historyManager.go:57:48: invalid operation: a[i] (variable of type *github.com/fibercrypto/FiberCryptoWallet/src/models/transactions.TransactionDetails) has no field or method Date (typecheck)
	d1, _ := time.Parse(dateTimeFormatForGo, a[i].Date().ToString(dateTimeFormatForQML))
	                                              ^
src/models/history/historyManager.go:58:48: invalid operation: a[j] (variable of type *github.com/fibercrypto/FiberCryptoWallet/src/models/transactions.TransactionDetails) has no field or method Date (typecheck)
	d2, _ := time.Parse(dateTimeFormatForGo, a[j].Date().ToString(dateTimeFormatForQML))
	                                              ^
src/models/history/historyManager.go:101:30: NewTransactionDetails not declared by package transactions (typecheck)
		txnDetails := transactions.NewTransactionDetails(nil)
		                           ^
src/models/history/history.go:137:54: invalid operation: hm (variable of type *TransactionList) has no field or method Transactions (typecheck)
	hm.BeginRemoveRows(core.NewQModelIndex(), 0, len(hm.Transactions())-1)
	                                                    ^
src/models/history/history.go:138:5: invalid operation: hm (variable of type *TransactionList) has no field or method SetTransactions (typecheck)
	hm.SetTransactions(make([]*transactions.TransactionDetails, 0))
	   ^
src/models/history/history.go:72:47: invalid operation: hm (variable of type *TransactionList) has no field or method Transactions (typecheck)
	if !index.IsValid() || index.Row() >= len(hm.Transactions()) {
	                                             ^
src/models/pending/PendingModel.go:91:8: undeclared name: NewPendingTransaction (typecheck)
	pt := NewPendingTransaction(nil)
	      ^
src/models/pending/PendingModel.go:82:13: invalid operation: ptModel (variable of type *PendingTransaction) has no field or method SetMine (typecheck)
				ptModel.SetMine(1)
				        ^
src/models/pending/PendingModel.go:87:4: invalid operation: m (variable of type *PendingTransactionList) has no field or method SetTransactions (typecheck)
	m.SetTransactions(ptModels)
	  ^
src/models/pending/Pending.go:4:2: undeclared name: PendingTransactionList_QmlRegisterType2 (typecheck)
	PendingTransactionList_QmlRegisterType2("PendingModels", 1, 0, "QPendingList")
	^
src/models/pending/Pending.go:5:2: undeclared name: PendingTransaction_QmlRegisterType2 (typecheck)
	PendingTransaction_QmlRegisterType2("PendingModels", 1, 0, "QPendingTransaction")
	^
src/models/transactions/transactions.go:9:2: undeclared name: TransactionDetails_QmlRegisterType2 (typecheck)
	TransactionDetails_QmlRegisterType2("HistoryModels", 1, 0, "QTransactionDetail")
	^
src/models/walletsModel.go:156:4: invalid operation: m (variable of type *WalletModel) has no field or method SetWallets (typecheck)
	m.SetWallets(wallets)
	  ^
src/models/walletsModel.go:159:4: invalid operation: m (variable of type *WalletModel) has no field or method SetCount (typecheck)
	m.SetCount(len(m.Wallets()))
	  ^
src/models/walletsModel.go:145:4: invalid operation: m (variable of type *WalletModel) has no field or method SetWallets (typecheck)
	m.SetWallets(append(m.Wallets()[:row], m.Wallets()[row+1:]...))
	  ^
src/models/walletsManager.go:471:13: undeclared name: NewQWallet (typecheck)
	qWallet := NewQWallet(nil)
	           ^
src/models/qtransaction.go:22:10: undeclared name: NewQTransaction (typecheck)
	qtxn := NewQTransaction(nil)
	        ^
src/models/qtransaction.go:25:20: NewAddressList not declared by package address (typecheck)
	inputs := address.NewAddressList(nil)
	                  ^
src/models/qtransaction.go:26:21: NewAddressList not declared by package address (typecheck)
	outputs := address.NewAddressList(nil)
	                   ^
src/models/networkingModel.go:160:7: undeclared name: NewQNetworking (typecheck)
	q := NewQNetworking(nil)
	     ^
src/models/networkingModel.go:156:11: invalid operation: netModel (variable of type *NetworkingModel) has no field or method SetCount (typecheck)
	netModel.SetCount(len(netModel.Networks()))
	         ^
src/models/networkingModel.go:149:11: invalid operation: netModel (variable of type *NetworkingModel) has no field or method SetNetworks (typecheck)
	netModel.SetNetworks(append(netModel.Networks()[:row], netModel.Networks()[row+1:]...))
	         ^
src/models/networkingManager.go:17:6: invalid operation: net (variable of type *NetworkingManager) has no field or method ConnectGetNetworks (typecheck)
	net.ConnectGetNetworks(net.getNetworks)
	    ^
src/models/networking.go:4:2: undeclared name: NetworkingModel_QmlRegisterType2 (typecheck)
	NetworkingModel_QmlRegisterType2("NetworkingManager", 1, 0, "NetworkingModel")
	^
src/models/networking.go:5:2: undeclared name: QNetworking_QmlRegisterType2 (typecheck)
	QNetworking_QmlRegisterType2("NetworkingManager", 1, 0, "QNetworking")
	^
src/models/networking.go:6:2: undeclared name: NetworkingManager_QmlRegisterType2 (typecheck)
	NetworkingManager_QmlRegisterType2("NetworkingManager", 1, 0, "NetworkManager")
	^
src/models/modelsManager.go:33:15: undeclared name: NewAddressesModel (typecheck)
		addrModel = NewAddressesModel(nil)
		            ^
src/models/modelsManager.go:19:5: invalid operation: mm (variable of type *ModelManager) has no field or method ConnectSetWalletManager (typecheck)
	mm.ConnectSetWalletManager(mm.setWalletManager)
	   ^
src/models/modelsManager.go:20:5: invalid operation: mm (variable of type *ModelManager) has no field or method ConnectGetAddressModel (typecheck)
	mm.ConnectGetAddressModel(mm.getAddressModel)
	   ^
src/models/walletsManager.go:439:15: undeclared name: NewQAddress (typecheck)
		qAddress := NewQAddress(nil)
		            ^
src/models/walletsManager.go:232:12: undeclared name: NewQOutput (typecheck)
			qout := NewQOutput(nil)
			        ^
src/models/models.go:4:2: undeclared name: BlockchainStatusModel_QmlRegisterType2 (typecheck)
	BlockchainStatusModel_QmlRegisterType2("BlockchainModels", 1, 0, "BlockchainStatusModel")
	^
src/models/models.go:5:2: undeclared name: WalletModel_QmlRegisterType2 (typecheck)
	WalletModel_QmlRegisterType2("WalletsManager", 1, 0, "WalletModel")
	^
src/models/models.go:6:2: undeclared name: QWallet_QmlRegisterType2 (typecheck)
	QWallet_QmlRegisterType2("WalletsManager", 1, 0, "QWallet")
	^
src/models/modelWallets.go:144:4: invalid operation: m (variable of type *ModelWallets) has no field or method SetAddresses (typecheck)
	m.SetAddresses(ma)
	  ^
src/models/modelWallets.go:145:21: invalid operation: m (variable of type *ModelWallets) has no field or method Addresses (typecheck)
	m.insertRows(len(m.Addresses()), len(ma))
	                   ^
src/models/modelWallets.go:103:9: undeclared name: NewModelAddresses (typecheck)
		ma := NewModelAddresses(nil)
		      ^
src/models/modelAddresses.go:78:4: invalid operation: m (variable of type *ModelAddresses) has no field or method SetOutputs (typecheck)
	m.SetOutputs(mo)
	  ^
src/models/modelAddresses.go:79:21: invalid operation: m (variable of type *ModelAddresses) has no field or method Outputs (typecheck)
	m.insertRows(len(m.Outputs()), len(mo))
	                   ^
src/models/modelAddresses.go:49:26: invalid operation: m (variable of type *ModelAddresses) has no field or method Outputs (typecheck)
	if index.Row() >= len(m.Outputs()) {
	                        ^
src/models/modelOutputs.go:156:4: invalid operation: m (variable of type *ModelOutputs) has no field or method SetOutputs (typecheck)
	m.SetOutputs(make([]*QOutput, 0))
	  ^
src/models/modelOutputs.go:150:4: invalid operation: m (variable of type *ModelOutputs) has no field or method SetOutputs (typecheck)
	m.SetOutputs(mo)
	  ^
src/models/modelOutputs.go:143:49: invalid operation: m (variable of type *ModelOutputs) has no field or method Outputs (typecheck)
	m.BeginInsertRows(core.NewQModelIndex(), len(m.Outputs()), len(m.Outputs())+len(mo)-1)
	                                               ^
src/models/config.go:72:19: undeclared name: NewWalletSource (typecheck)
		newWltSource := NewWalletSource(nil)
		                ^
src/models/config.go:31:5: invalid operation: cm (variable of type *ConfigManager) has no field or method ConnectGetSources (typecheck)
	cm.ConnectGetSources(cm.getSources)
	   ^
src/models/config.go:32:5: invalid operation: cm (variable of type *ConfigManager) has no field or method ConnectGetNodeString (typecheck)
	cm.ConnectGetNodeString(cm.getNodeString)
	   ^
src/models/blockchainModels.go:94:5: invalid operation: bs (variable of type *BlockchainStatusModel) has no field or method SetNumberOfBlocks (typecheck)
	bs.SetNumberOfBlocks(strconv.FormatUint(numberOfBlocks, 10))
	   ^
src/coin/skycoin/models/blockchain.go:78:2: `lastTimeStatusRequested` is unused (structcheck)
	lastTimeStatusRequested uint64
	^
src/coin/skycoin/models/account.go:14: File is not `goimports`-ed (goimports)
)
src/coin/skycoin/models/coin.go:8: File is not `goimports`-ed (goimports)
	"github.com/skycoin/skycoin/src/cipher"
src/coin/skycoin/params/params.go:27: File is not `goimports`-ed (goimports)
	CalculatedHoursName	       = "Calculated Hours"
Makefile:35: recipe for target 'lint' failed in Windows
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 13, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 13, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 13, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 13, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
…ercrypto/FiberCryptoWallet into stdevHan_t142_make_lint

 Conflicts:
	src/coin/skycoin/models/coin.go
	src/coin/skycoin/models/network.go
	src/coin/skycoin/models/wallet.go
	src/core/network.go
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 15, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 16, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 16, 2019
m4yk3ldev pushed a commit to simelo/fibercryptowallet that referenced this issue Oct 16, 2019
FiberCrypto wallet - Iteration 1 automation moved this from In progress to Done Oct 16, 2019
stdevMac added a commit that referenced this issue Oct 16, 2019
Fixes #142 Configure golang-ci and run it in Travis builds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment