Choice "D" is correct. Generally, all contracts are assignable unless the assignment would result in a change in the obligor's risk.
Choice "b" is incorrect. An assignment need not be supported by consideration; assignments may be gratuitous.
Choice "a" is incorrect. There is no requirement that an assignment of a contract for the sale of goods be in writing.
Choice "c" is incorrect. An assignment may be revocable or irrevocable.