Stlink: Código limpo com tipo de variável unificada

Criado em 6 abr. 2020  ·  6Comentários  ·  Fonte: stlink-org/stlink

Até onde posso ver, muitas funções usam variáveis ​​de comprimento fixo. Na verdade, é útil para funções que precisam lidar com formatos de dados fixos. No entanto, o abuso de variáveis ​​de comprimento fixo está causando falhas de construção em potencial e conversões não essenciais.

Por exemplo em src / usb.c:
image

send_recv aceita txsize e rxsize como size_t mas no contexto real, esses argumentos devem ser convertidos em int ou unsigned int , sem um comprimento fixo, e quem quer que o chame fornece argumentos de um tipo diferente ( uint32_t ou números mágicos neste caso). conversão não intencional de 32 bits para 64 bits é aplicada no processo de chamada. Além disso, para evitar uma falha de construção, muitas conversões explícitas são necessárias.

Eu sugiro substituir as variáveis ​​de comprimento fixo de acordo com seus usos reais.
Ficar difuso para ser mais portátil.

Eu gostaria de tentar se outros acharem significativo.

codfeedback codrefactoring needissuer-feedback

Todos 6 comentários

Obrigado por colocar isso na agenda. Como é um problema geral em toda a base de código, não tenho certeza no momento se devemos colocar isso na v1.6.1 imediatamente. @martonmiklos solicitou anteriormente uma limpeza relacionada ao estilo do código, que empurrei para o marco v1.6.2. Talvez este seja um bom lugar para esse problema também, embora vá empurrá-lo um pouco mais para longe.

Talvez eu possa fazer uma limpeza local primeiro e acompanhar o processo de desenvolvimento.😃

Claro que você pode, mas certifique-se de ramificar de develop e continuar seguindo este branch, em vez de master , que não é mais usado para mudanças frequentes, mas apenas para lançamentos e hotfixes.

Com relação à compatibilidade entre ILP32, LLP64 e LP64, acho que seria uma boa ideia substituir o tipo de dados long por int32_t , mas se quisermos descartar surpresas no futuro relacionadas a conversão, podemos considerar mudar para tipos inteiros de largura fixa sempre que possível ...

@chenguokai : Vou deixar isso com você. Você pode contribuir, se desejar e tiver algum tempo.

Claro que vou, antes do lançamento. Estou ficando ocupado agora.😔

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

bolorkhuu picture bolorkhuu  ·  11Comentários

tabemann picture tabemann  ·  5Comentários

maked0n picture maked0n  ·  8Comentários

smartHarsh picture smartHarsh  ·  9Comentários

gorynch picture gorynch  ·  5Comentários